python之sort与sorted函数的区别

网友投稿 303 2022-08-22


python之sort与sorted函数的区别

sort与sorted方法主要区别:

方法

应用对象

是否修改原对象

返回值

sort()

列表

None

sorted()

所有可迭代对象

返回新列表

sort(self, key, reverse):

reverse默认为False,升序

降序则,reverse=True

l = [9, 4, 2 ,5, 1, 2, 10]re = l.sort(reverse= True)print(l)print(re)#结果[10, 9, 5, 4, 2, 2, 1]None# 集合使用sort()print(set(l).sort())# 报错AttributeError: 'set' object has no attribute 'sort'

sorted(__iterable, key, reverse)

__iterable:可迭代对象,必须

key:排序字段,传入函数,可选

reverse:升序/降序,默认升序

l = [9, 4, 2 ,5, 1, 2, 10]s = set(l)print(s, '类型:',type(s))new_l = sorted(l)new_s = sorted(s)print('返回新列表:', new_l)print('返回新列表:', new_s)print('集合经过sorted()后,返回的是列表', type(new_s))print('原列表不变:', l)print('原集合不变:', s)# 执行结果{1, 2, 4, 5, 9, 10} 类型: 返回新列表: [1, 2, 2, 4, 5, 9, 10]返回新列表: [1, 2, 4, 5, 9, 10]集合经过sorted()后,返回的是列表 原列表不变: [9, 4, 2, 5, 1, 2, 10]原集合不变: {1, 2, 4, 5, 9, 10}

指定key排序

d = dict(z=3, a=9, f=6, e=1)# 以value字段排序,返回key列表new_d1 = sorted(d.keys(), key= lambda x:d[x])print(new_d1)# 以key排序,降序,返回key_value列表new_d2 = sorted(d.items(), key= lambda x:x[0], reverse= True)print(new_d2)# 执行结果['e', 'z', 'f', 'a'][('z', 3), ('f', 6), ('e', 1), ('a', 9)]


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:resty mail的简单发送邮件方法
下一篇:pip安装时 fatal error C1083 无法打开包括文件 “io.h” No such file or directory(pip安装时x86还是arm)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~