Python轻松入门-34 列表查找最大和最小值

网友投稿 788 2022-11-26

Python轻松入门-34 列表查找最大和最小值

Python轻松入门-34 列表查找最大和最小值

视频教程-链接:​​class="data-table" data-id="tea9ccc6-RhIU07Fj" data-transient-attributes="class" data-width="872.014px" style="width: 100%; outline: none; border-collapse: collapse;">

import heapq

grades = [32, 43, 654, 34, 666]

这时候,我想获得列表中最大的3个数字,这里我们可以用heapq,然后调用nlargest,第一个参数是最大元素的个数,这里我们希望获得最大的3个数字,第二个参数是你要查找的数据集,所以这里是grades,运行:

print(heapq.nlargest(3, grades))

你看,打印出了最大的3个数字: 这只是对数字的简单排序,如果现在我们有一个这样的复杂的列表:

stocks = [

{'ticker':'AAPL', 'price':201},{'ticker':'GOOG', 'price':800},{'ticker':'FB', 'price':54},{'ticker':'MSFT', 'price':68}]

它是一个字典的列表,假如现在我想买股票,我想找到其中最便宜的2个股票,当然这里你一眼就可以看出来,但是假如我们有成千上万条数据呢?这里就是heapq的用武之地了,和之前一样,前2个参数分别是个数和列表,现在,我们想按照字典中的price这个key值排序,这里就需要第三个参数了,它是一个Lambda函数,对于每一个stock,我们取price这个key值:

print(heapq.nsmallest(2, stocks, key=lambda stock: stock['price']))

运行,你看: 成功的输出了最便宜的2个股票。 所以,当面对一个简单的列表,这里只需要2个参数,但是当遇到一个自定义的对象或者复杂的数据集,就需要根据需要,定制第三个参数了。 更多精彩内容尽在视频中! ​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python轻松入门-27 init函数
下一篇:Python轻松入门-12 函数
相关文章

 发表评论

暂时没有评论,来抢沙发吧~