做个实验,如下
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过的列表