sort方法和sorted()函數

sort方法和sorted()函數的區別:

相同點:都能完成排序操作。

不同點:

(1)使用sort()方法對list排序會修改list本身,不會返回新list,sort()不能對dict字典進行排序;

(2)sorted方法對可迭代的序列排序生成新的序列,對dict排序默認會按照dict的key值進行排序,

最後返回的結果是一個對key值排序好的list;

(3)sorted對tuple, dict依然有效,而sort不行。

sort方法

類似於reverse,sort方法也是List(列表)內建的函數,主要用於列表元素的排序,其語法爲:

#key可以指定列表元素比較時用到的函數
#reverse默認時False(升序),指定爲True時降序排列
List.sort(key=None,reverse=False)




 

 

 

 

 

 

 

 

d = {"a": 56, "b": 23, "f": 41, "c": 90,"d": 12, "e": 64, "g": 88}
y=sorted(d.items())
print(y)
m=sorted(d.items(),key=lambda x:x[1])#按字典的key值進行排序
print(m)
a=sorted(d.items(),key=lambda x:x[1],reverse = True) #副本
print(a)
# 第一個參數是需要排序的列表,第二個參數是指定key(列表中每一項的第幾個元素)來進行排序。
# d.items()返回的是一個列表
# [('a', 56), ('b', 23), ('c', 90), ('d', 12), ('e', 64), ('f', 41), ('g', 88)]
# sorted會對d.items()這個list進行遍歷,把list中的每一個元素,
# 也就是每一個tuple()當做x傳入匿名函數lambda x:x[1],
# 函數返回值爲x[1], 也就是key=x[1]=tuple()[1]=('a', 56)[1],
# 也就是說按照裏表中每個項的第二個元素進行排序(第一個是x[0])

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章