【Python】找出最大或最小的N个元素
在Python中,每次取最大或者最小元素比较容易,直接用max或者min函数就行,如下面代码:
#Input:
a = [1,3,4,3,7,3,9,3,1,2]
print('max a is:', max(a))
print('min a is:', min(a))#output:
max a is: 9
min a is: 1
但是有时候我们需要输出最大或最小的N个数,这样的话如果只是用max和min的话就需要加一层循环,比较麻烦,这个时候可以考虑用nlargest和nsmallest函数了,如下代码:
#Input:
import heapq
a = [1,3,4,3,7,3,9,3,1,2]
print('3-largest a is:', heapq.nlargest(3,a))
print('3-smallest a is:', heapq.nsmallest(3,a))#output:
3-largest a is: [9, 7, 4]
3-smallest a is: [1, 1, 2]
通过上面代码就可以输出N个最大或最小值了,当然,对于列表来说,可以通过sorted函数进行排序后再通过切片的方法也行,如下代码:
#Input:
a = [1,3,4,3,7,3,9,3,1,2]
print('3-smallest a is:', sorted(a)[:3])
print('3-largest a is:', sorted(a)[-3:])#output:
3-smallest a is: [1, 1, 2]
3-largest a is: [4, 7, 9]
这个方法也非常的简单,同时也不需要再加载别的扩展包。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
