python中怎么找最大值最小值(Python找出最大或最小的N个值)(1)

初级任务:在某个集合中找出最大值或最小值(max / min

>>> numbers = [1, 3, 5, 4, 2] >>> print('最大值为:') 最大值为: >>> print(max(numbers)) 5 >>> print('最小值为:') 最小值为: >>> print(min(numbers)) 1 >>>

进阶任务:在某个集合中找出最大或最小的N个值

方法1:sort(按大小顺序排列最大或最小的N个值)

>>> numbers = [1, 3, 5, 4, 2] >>> top_n = 2 >>> print('最大的 {} 个值为:'.format(top_n)) 最大的 2 个值为: >>> print(sorted(numbers)[-top_n:]) [4, 5] >>> print('最小的 {} 个值为:'.format(top_n)) 最小的 2 个值为: >>> print(sorted(numbers)[:top_n]) [1, 2]

方法2:heapq.nlargest / heapq.nsmallest(按原顺序排列最大或最小的N个值)

>>> import heapq >>> numbers = [1, 3, 5, 4, 2] >>> top_n = 2 >>> print('最大的 {} 个值为:'.format(top_n)) 最大的 2 个值为: >>> print(heapq.nlargest(top_n, numbers)) [5, 4] >>> print('最小的 {} 个值为:'.format(top_n)) 最小的 2 个值为: >>> print(heapq.nsmallest(top_n, numbers)) [1, 2] >>>

,