写点什么

Python 代码阅读(第 56 篇):获取列表的前 n 个最大 / 最小值

作者:Felix
  • 2021 年 11 月 10 日
  • 本文字数:506 字

    阅读完需:约 2 分钟

Python代码阅读(第56篇):获取列表的前n个最大/最小值

Python 代码阅读合集介绍:为什么不推荐Python初学者直接看项目源码


本篇阅读的代码分别获取列表的前n个最大/最小值。


本篇阅读的代码片段来自于30-seconds-of-python

max_n

def max_n(lst, n=1):  return sorted(lst, reverse=True)[:n]
# EXAMPLESmax_n([1, 2, 3]) # [3]max_n([1, 2, 3], 2) # [3,2]
复制代码


max_n函数接收一个列表和取值个数n,返回列表前n个最大数组成的列表。


函数使用sorted()函数和列表切片获取列表前n个最大数组成的列表。


sorted(iterable, *, key=None, reverse=False)根据iterable中的项返回一个新的已排序列表。它具有两个可选参数,它们都必须指定为关键字参数。key指定带有单个参数的函数,用于从iterable的每个元素中提取用于比较的键 (例如key=str.lower)。 默认值为 None (直接比较元素)。reverse为一个布尔值。 如果设为True,则每个列表元素将按反向顺序比较进行排序。

min_n

def min_n(lst, n=1):  return sorted(lst, reverse=False)[:n]
# EXAMPLESmin_n([1, 2, 3]) # [1]min_n([1, 2, 3], 2) # [1,2]
复制代码


min_n函数接收一个列表和取值个数n,返回列表前n个最小数组成的列表。


函数和max_n类似,只需要将sorted()reverse设置为False,使排序的方向相反即可。

发布于: 1 小时前阅读数: 3
用户头像

Felix

关注

没有看点,仅仅闲聊。欢迎关注“没看点” 2018.05.04 加入

欢迎关注个人公众号:没看点 个人主页:www.zhangfelix.com

评论

发布
暂无评论
Python代码阅读(第56篇):获取列表的前n个最大/最小值