本文共 712 字,大约阅读时间需要 2 分钟。
在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: 9min a is: 1
但是有时候我们需要输出最大或最小的N个数,这样的话如果只是用max和min的话就需要加一层循环,比较麻烦,这个时候可以考虑用nlargest和nsmallest函数了,如下代码:
#Input:import heapqa = [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]
这个方法也非常的简单,同时也不需要再加载别的扩展包。
转载地址:http://kabhf.baihongyu.com/