两者最大的区别在于操作范围的区别,前者范围小,sort 是应用在 list 上的方法,而sorted 可以对所有可迭代的对象进行排序操作。
一、语法
sorted()语法:
sorted(iterable, key=None, reverse=False)
- iterable -- 可迭代对象。
- key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
- reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
- 返回值是重新被排序的列表
二、实例
最简单的是数值的排序
sorted([7,4,3,2,9,8])#默认升序
[2, 3, 4, 7, 8, 9]
上述代码也可以用sort(),但这个方法会永久性修改原始的列表。
a=[7,4,3,2,9,8]
a.sort()
a
[2, 3, 4, 7, 8, 9]
另一个区别在于list.sort() 方法只为 list 定义。而 sorted() 函数可以接收任何的 iterable。
sorted({7: 'D', 2: 'B', 3: 'B', 4: 'E', 5: 'A'})#对字典的键进行排序
[2, 3, 4, 5, 7]
又比如:
fruits=['banana','apple','pear','watermelon']
print(sorted(fruits,key=len)[2])
banana
更多资讯,欢迎关注公众号:知产新资讯