
请点击此处输入图片描述
问题1:我想找到一个列表中最大的三个元素
nums=[1,5,8,-1,67,54,1111,89,-9,20,67,34,80]
方法:
>>> import heapq
>>> print(heapq.nlargest(3,nums))
[1111, 89, 80]
最小的三个元素:
>>> print(heapq.nsmallest(3,nums))
[-9, -1, 1]
问题2:如果元素不是一个整数列表,而是一个字典组成的列表呢?
>>> files=[
{'name':'apple','price':100},
{'name':'thinkpad','price':500},
{'name':'samsung','price':200},
{'name':'IBM','price':700},
{'name':'huawei','price':1000}
]
>>> cheap=heapq.nsmallest(3,files,key=lambda s:s['price'])
>>> c

本文通过示例介绍了如何使用Python的heapq模块找到列表中的前N个最大和最小元素,包括整数列表和字典组成的列表。同时,讲解了lambda表达式的使用,并与内置的max函数进行比较,展示了在处理字典列表时如何根据特定键来获取最大值。
最低0.47元/天 解锁文章

9531

被折叠的 条评论
为什么被折叠?



