Python列表:能否在一行代码内创建、排序并选取首个元素?
一行代码实现取列表最小元素
你尝试的代码:
SmallestNumber = [5, 7, 3].sort()[0]
无法运行的核心原因是:list.sort()是原地排序方法,它会直接修改原列表本身,返回值为None,因此后续的[0]会触发TypeError(无法对NoneType执行索引操作)。
要实现单行代码获取列表最小元素,有两种简洁可行的方式:
方式一:使用sorted()函数
sorted()函数会返回一个新的排序后的列表,不会修改原列表,因此可以直接链式调用索引:
SmallestNumber = sorted([5, 7, 3])[0]
方式二:直接使用min()函数(更高效)
如果仅需获取列表最小元素,无需对整个列表排序,直接用min()函数是最优解——代码更简洁,且时间复杂度更低:
SmallestNumber = min([5, 7, 3])
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

