初级任务:在某个集合中找出最大值或最小值(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]>>>