概述
sorted() 函数对所有可迭代的对象进行排序操作。-
语法
sorted(iterable, key=None, reverse=False)
参数说明:
- iterable -- 可迭代对象
- key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
- reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)
-
返回值
返回重新排序的列表
注意:原始的对象不会改变,因为sorted()函数提供了一个新的有序的输出结果,并且不改变原始值的顺序
-
示例
实例一:
>>> words = ['banana','pie','Washington','book'] >>> sorted(words, keys=len) ['pie','book','banana','Washington']
示例二:
与lambda结合
>>> words = ['banana','pie','Washington','book'] >>> sorted(words, key=lambda x:x[::-1]) ['banana','pie','book','Washington']
-
与sort()比较
sort是list类的一个方法,只能与list一起使用。它不是一个内置的迭代器
sort()返回None并改变原列表的位置
-
sort()具有与sorted()相同的key和reverse这种可选的关键字参数,这些参数具有与sorted()相同的强大的功能。
>>> list = [5,2,6,1] >>> sort(list) Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'sort' is not defined >>> list.sort() >>> list [1, 2, 5, 6] >>> tuple_val = (5,2,6,1) >>> tuple_val.sort() Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'tuple' object has no attribute 'sort'
参考文章:
https://www.runoob.com/python3/python3-func-sorted.html
https://blog.csdn.net/java276582434/article/details/90812971