N个最大元素

从提供的列表中返回n个最大元素。

  • 使用sorted()对列表进行排序。
  • 使用切片表示法获取指定数量的元素。
  • 如果省略第二个参数n,则返回一个包含一个元素的列表。
  • 如果n大于或等于提供的列表的长度,则返回原始列表(按降序排序)。
def max_n(lst, n = 1):
  return sorted(lst, reverse = True)[:n]

max_n([1, 2, 3]) # [3]
max_n([1, 2, 3], 2) # [3, 2]