使用lambda支持heapq获取复杂对象集合的最大N项和最小N项

# -*- coding: utf-8 -*-
mport heapqnums = [1, 8, 2, 23, 7, -4, 18, 23, 42, 37, 2]
print heapq.nlargest(3, nums)
print heapq.nsmallest(3, nums)portfolio = [{'name': 'IBM', 'shares': 100, 'price': 91.1},{'name': 'AAPL', 'shares': 50, 'price': 543.22},{'name': 'FB', 'shares': 200, 'price': 21.09},{'name': 'HPQ', 'shares': 35, 'price': 31.75},{'name': 'YHOO', 'shares': 45, 'price': 16.35},{'name': 'ACME', 'shares': 75, 'price': 115.65},
]print heapq.nsmallest(3, portfolio, key=lambda s:s['price'])
expensive = heapq.nlargest(3, portfolio, key=lambda s:s['price'])

out

[{'price': 16.35, 'name': 'YHOO', 'shares': 45}, {'price': 21.09, 'name': 'FB', 'shares': 200}, {'price': 31.75, 'name': 'HPQ', 'shares': 35}]
[{'price': 543.22, 'name': 'AAPL', 'shares': 50}, {'price': 115.65, 'name': 'ACME', 'shares': 75}, {'price': 91.1, 'name': 'IBM', 'shares': 100}]

转载于:https://www.cnblogs.com/4thing/p/5644933.html

每天CookBook之Python-004相关推荐

  1. 将python3.7降为3.5_python3.7降至3.5【python cookbook】python访问子字符串

    访问子字符串最简单的的方式是使用切片 afiled=theline[3:8]但一次只能取一个子字符串 如果还要考虑字段的长度struct.unpack可能更合适 importstruct #得到一个5 ...

  2. python—004

    一.集合(set) 1.定义:不同的元素组成,无序排列的,可哈希的值(存放不可变类型:数字.字符串.元组) s={1,2,'ww',3,4,5,6,7,8,'ee'}print (type(s))pr ...

  3. python不属于字符串的是_【python cookbook】python过滤字符串中不属于指定集合的字符...

    1 #!/usr/bin/python 2 #-*- coding: utf-8 -*- 3 4 #过滤字符串中不属于指定集合的字符 5 6 importstring7 8 #生成所有字符的可复用的字 ...

  4. 跟着廖雪峰学python 004

    循环 Python有两种循环: ① for ... in 循环 ② while循环 dict字典 set集合 循环 for ... in 循环 依次把list或tuple中的每个元素迭代出来 name ...

  5. python制作一个简单的文字游戏——零基础学python 004

    前言: 之前我们简单的学习了一些函数,所谓学以致用.那么我们看看用这几个函数能够做出怎么样的文字游戏? 游戏的思路很简单,要求输入一个程序已经设置好的数字,猜中了返回一句话话,猜错了返回一句话:然而只 ...

  6. python写的篮球文字游戏_python制作一个简单的文字游戏——零基础学python 004

    前言: 之前我们简单的学习了一些函数,所谓学以致用.那么我们看看用这几个函数能够做出怎么样的文字游戏? 游戏的思路很简单,要求输入一个程序已经设置好的数字,猜中了返回一句话话,猜错了返回一句话:然而只 ...

  7. Python课程大全(0基础就该这样学)

    小甲鱼-<零基础入门学习Python> 000愉快的开始 001我和Python的第一次亲密接触 002用Python设计第一个游戏 003小插曲之变量和字符串 004改进我们的小游戏 0 ...

  8. 自学python的书籍逐级推荐-适合初学者和经验的十大最佳Python书籍-2018

    1,最佳Python书籍清单 在这篇文章中,我收集了一些适合初学者和经验丰富的最佳Python书籍的信息.我们还提到了每本书的简要介绍.这将帮助您根据您的要求选择最好的python书籍.此外,它还涵盖 ...

  9. python资料下载-python电子书学习资料打包分享百度云资源下载

    [300dpi高清版] Python基砒教程(第2版)LHD,pdf Head. First. Python中文版pdf [ Python3程序开发指南第二版pdf [ thon编程第4版)]( Pr ...

  10. python是什么编程教程-编程零基础应当如何开始学习 Python?

    刚开始一定是从基础开始,下面是一些基础部分的知识点:环境变量的安装与配置 Python的变量:数字.字符串.字典.列表.元组 流程控制:程序执行顺序.顺序执行.选择执行.循环执行 函数:函数定义.函数 ...

最新文章

  1. 盘点:2020 年机器学习 10 大进展
  2. Python开发【Part 11】:线程与进程
  3. java注销对话框_【java小程序实战】小程序注销功能实现
  4. show status用法
  5. Android工程开发笔记一
  6. Tensorflow--代码1
  7. mysql正则表达式匹配非_MySQL的正则表达式
  8. wxPython:当密码账号输入正确,登录界面消失并显示主界面
  9. 第 9 章 适配器设计模式
  10. LeetCode 458. 可怜的小猪(信息论方法)
  11. python json解析 超过对象_Python | 关于Requests与Json的使用小结
  12. 玩机搞机----安卓全机型修改开机第一屏步骤教程
  13. 【我的Android进阶之旅】APK反编译教程和工具下载
  14. react native 获取验证码
  15. CVPR2021 | 记录SCRFD人脸检测C++工程化(含docker镜像)
  16. 联想SR590服务器管理界面配置
  17. Android--设置显示大小导致APP crash
  18. Web2.0的系统架构与六大关键问题
  19. 有向图php,【小龙的资结演算法秘籍】(8) 有向图(directed graph)及DAG(directed acyclic graph)的详细介绍...
  20. Win10鼠标右键添加CMD选项

热门文章

  1. k8s glusterfs mysql_k8s使用glusterfs实现动态持久化存储
  2. 收集4:文件打开方式
  3. centos oracle 修改监听服务名_Oracle-Oracle DB、监听和oem开机启动
  4. 真是搞不懂原始套接字SOCK_RAW和AF_PACKET
  5. JavaWeb——response与request
  6. equals()重写之后为什么要重写hashCode()方法
  7. 详解:hiveserver2的使用与介绍
  8. 文件被损坏 java_使用PDF.JS实现pdf文件在线预览时,报文件被损坏的错误
  9. invalid signature什么意思_function是什么意思?
  10. java模拟内存溢出并分析_模拟内存溢出通过MAT分析