做個實驗,如下
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過的列表