1. 程式人生 > >使用sorted對列表和字典 排序

使用sorted對列表和字典 排序

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函式。