python 字典排序

2021-09-22 11:14:16 字數 1758 閱讀 4692

閱讀目錄

回到頂部

字典,形如 dic = ,字典中的元素沒有順序,所以dic[0]是有語法錯誤的。並且不可以有重複的鍵值,所以 dic.add['c'] = 4後,字典變成 .

回到頂部

如何根據需要可以根據「鍵」或「鍵值」進行不同順序的排序?

回到頂部

sorted(dic,value,reverse)

回到頂部

注意

排序之後原字典沒有變,順序依舊

回到頂部

>>> a_dic = , '

b':, '

c':}

>>> dict= sorted(a_dic.iteritems(), key=lambda d:d[1]['

val'], reverse =true)

>>>dict[('

b', ), ('

a', ), ('

c', )]

例子中「鍵-值」對中的值是字典,例子對其進行排序。

那如果「鍵值」對中值字典的某一特定鍵不存在,咋處理呢,參考

>>> a = , '

b':, '

c':, '

d':}

>>>a

, 'c

': , '

b': , '

d': }

>>> dict= sorted(a.iteritems(), key=lambda d:d[1]['

val'], reverse =true)

traceback (most recent call

last

): file

"", line 1, in

file

"", line 1, in

keyerror:

'val

'>>> dict= sorted(a.iteritems(), key=lambda d:d[1].get('

val',0), reverse =true)

>>>dict[('

b', ), ('

a', ), ('

c', ), ('

d', )]

回到頂部

1.lambda

功能: 建立匿名函式

區別: 和def函式定義,以下兩點區別

案例:

2.iteritems()

功能: iteritems()以迭代器物件返回字典鍵值對

區別: 和item相比:items以列表形式返回字典鍵值對

案例:

注釋: 在函式sorted(dic.iteritems(), key = lambda asd:asd[1])中,第乙個引數傳給第二個引數「鍵-鍵值」,第二個引數取出其中的鍵([0])或鍵值(1])

python實現字典排序 python 字典排序

引子 字典,形如 dic 字典中的元素沒有順序,所以dic 0 是有語法錯誤的。並且不可以有重複的鍵值,所以 dic.add c 4後,字典變成 待解決問題 如何根據需要可以根據 鍵 或 鍵值 進行不同順序的排序?函式原型 sorted dic,value,reverse dic為比較函式,valu...

python字典排序

1 準備知識 在python裡,字典dictionary是內建的資料型別,是個無序的儲存結構,每一元素是key value對 如 dict 其中 username 和 database 是key,而 password 和 master 是value,可以通過d key 獲得對應值value的引用,但...

python 字典排序

prices 對於這樣乙個字典,如何根據 來對字典進行排序呢?首先你就會問,python中的字典明明是無序的,何談排序之說?別急,辦法總是有的。對於這樣乙個字典的排序,直接使用sorted函式肯定是不行的,因為其排序依據是根據keys而非values。若想對它字典進行排序,首先要做的就是將鍵值對反轉...