|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 一个账号 于 2020-3-19 20:51 编辑
Python sorted() 函数
语法
sorted(iterable, /, *, key=None, reverse=False)
参数
参数 | 描述 | iterable | 可迭代对象 | key | 一个函数,将可迭代对象中的每一个元素调用这个函数,用函数的返回值来比较 | reverse | 排序规则,True 降序 , False 升序(默认) |
描述
sorted() 函数对所有可迭代的对象进行排序操作。
返回值
返回重新排序的列表。
sort 与 sorted 区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort() 方法是在原列表上操作,而内 sorted() 函数返回的是一个新列表。
通常使用 sort() 的效率比 sorted() 高:
import time
start = time.perf_counter()
[6, 4, 2, 5, 7, 3, 2, 4563, 5, 7, 1, 234, 1234, 456, 345, 1234, 57].sort()
print("sort():", time.perf_counter() - start)
start = time.perf_counter()
sorted([6, 4, 2, 5, 7, 3, 2, 4563, 5, 7, 1, 234, 1234, 456, 345, 1234, 57])
print("sorted():", time.perf_counter() - start)
执行结果:
sort(): 2.699999999966618e-06
sorted(): 4.700000000024129e-06
例子
>>> sorted([1, 5, 3, 2, 7])
[1, 2, 3, 5, 7]
>>> sorted([1, 5, 3, 2, 7], reverse=True)
[7, 5, 3, 2, 1]
>>> sorted("532,4&%!dkjw", reverse=True)
['w', 'k', 'j', 'd', '5', '4', '3', '2', ',', '&', '%', '!']
>>> sorted("532,4&%!dkjw", reverse=False)
['!', '%', '&', ',', '2', '3', '4', '5', 'd', 'j', 'k', 'w']
>>> sorted("123456", key=lambda x: 2 if int(x) % 2 == 0 else 1) # 将奇数放到前面,因为是从小到大排列
['1', '3', '5', '2', '4', '6']
>>> sorted(["abcd", "ab", "abcdefg", "abcd"], key=len)
['ab', 'abcd', 'abcd', 'abcdefg']
|
|