使用sorted對列表和字典 排序
阿新 • • 發佈:2019-02-17
1.對列表進行排序:
方法一:可以使用列表的sort函式
list00=[2,1,4,2,1,4]
#使用sort()進行排序,sort只能對list進行排序
list11=list00.sort()
print type(list11)
print list00
print list11
輸出:
<type 'NoneType'>
[1, 1, 2, 2, 4, 4]
None
結果可知,list00排序後並沒有將列表賦值給list11.
方法二:可以使用python內建sorted函式。
list0=[2,1,4,2,1,4] #使用sorted 進行排序 list1=sorted(list0) print type(list1) print list0 print list1
<type 'list'>
[2, 1, 4, 2, 1, 4]
[1, 1, 2, 2, 4, 4]
區別:直接呼叫list.sort函式,將原有的list更改,並且不能進行賦值,即沒有list1=list0.sort()
sorted仍然可以保留原有的list不改變。
並且list排序之後的資料結構型別依然是list.
2.對字典進行排序
輸出:dict ={"A":2,"Q":4,"B":7,"E":9,"C":1} #對字典進行排序,按照關鍵字升序。reverse預設為False,表示升序 #排序的物件,後面的是個匿名函式。 dict=sorted(dict.iteritems(),key=lambda abs:abs[0],reverse=False) print type(dict) print dict
<type 'list'>
[('A', 2), ('B', 7), ('C', 1), ('E', 9), ('Q', 4)]
可以看到在對字典進行排序後,其資料結構的型別已經由原來的字典變成了list.編寫程式碼過程中注意這一點 方法二:可以使用python內建sorted函式。