python中 list.sort() 和 sorted(list) 的区别

做个实验,如下

b=[('a',1),('c',5),('b',4)]
print(sorted(b,key=lambda x:x[1]))
print(b)

b.sorted(key=lambda x:x[1])
print(b)

输出结果:

总结:list.sort()只是list上的方法,list.sort()之后改变了list 的值,这时再输出就是排序好的值

           sorted()可用于list,tuple,dic,map...sorted()之后没有改变原list的值,这时再输出仍然是原序列。但他返回了一个排好序的序列的copy,所以输出时输出的时排序好的copy序列。

= =有点绕,这个讲的不错

What is the difference between `sorted(list)` vs `list.sort()`?

所以,list.reverse()和reverse(list)也是同理

b=[('a',1),('c',5),('b',4)]

print(list(reversed(b)))
print(b)

b.reverse()
print(b)

 

可以看到,reversed(list)仍旧没有改变原有的列表,第一个print的只是reverse(list)的copy

而list.reverse()之后,改变了原有的列表,再输出就是reverse过的列表

原创文章 70 获赞 25 访问量 7153

猜你喜欢

转载自blog.csdn.net/weixin_43727229/article/details/104551065