當前位置:首頁 » 編程語言 » python字典按順序

python字典按順序

發布時間: 2024-10-23 23:13:32

『壹』 python怎麼對字典進行排序

python 字典(dict)的特點就是無序的,按照鍵(key)來提取相應值(value),如果我們需要字典按值排序的話,那可以用下面的方法來進行:

1 下面的是按照value的值從大到小的順序來排序。

dic = {'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0}
dict= sorted(dic.iteritems(), key=lambda d:d[1], reverse = True)
print dict

輸出的結果:
[('aa', 74), ('a', 31), ('bc', 5), ('asd', 4), ('c', 3), ('d', 0)]

下面我們分解下代碼
print dic.iteritems() 得到[(鍵,值)]的列表。
然後用sorted方法,通過key這個參數,指定排序是按照value,也就是第一個元素d[1的值來排序。reverse = True表示是需要翻轉的,默認是從小到大,翻轉的話,那就是從大到小。

2 對字典按鍵(key)排序:
dic = {'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0}
dict= sorted(dic.iteritems(), key=lambda d:d[0]) d[0]表示字典的鍵
print dict

『貳』 Python中給字典排序的三種方法(有一種你絕對沒見過)

在計算機等級考試中,詞頻排序問題經常出現。通常,我們首先通過生成字典的方法統計詞的頻次,接著對字典進行排序。那麼,如何快速對字典按照鍵值進行排序呢?以下是三種方法。

以以下列表dic={'a':4, 'b': 3, 'c': 2, 'd': 1}為例,如何實現字典的升序排列呢?

第一種方法:使用自定義函數lambda

通過dic.items()獲取由字典鍵名和鍵值組成的元組列表,然後通過自定義函數獲取元組的第2個元素,作為排序的依據即key。默認是按照升序排列,如果需要降序排列,可以把reverse設為True。

第二種方法:使用operator的方法

operator. itemgetter(item)和operator. itemgetter(*items)的功能是返回一個可調用對象,該對象可以使用操作__getitem__()方法從自身的操作中捕獲item。如果制定了多個items,返回一個由查詢值組成的元組。例如:運行f = itemgetter(2),然後調用f(r),返回r[2]。這里通過operator獲得了dic.items()中的鍵值。注意operator是內置的包,無需安裝。

第三種方法:使用列表推導式法

使用列表推導式,交換元組中元素的位置,排序後再交換回來。這種方法有點兒麻煩,但邏輯清楚,適合新手。歡迎大家一起交流,提出更多好的方法。

『叄』 python字典是否有序

默認情況下Python的字典輸出順序是按照鍵的創建順序。

字典的無序是指,不能人為重新排序。
比如說你按鍵值1,2,3,4的順序創建的字典,只能由解析器按創建順序,還是1,2,3,4的輸出。
你無法控制它按照4,3,2,1的順序輸出,你也無法做到1,3,2,4的順序。

而且這個輸出順序是也不是能真正按照創建順序可以控的。
這裡面有兩個影響因素:
(1)鍵值的哈希碰撞,hash(key1) == hash(key2)時,向字典里連續添加的這個兩個鍵的順序是不可以控制的,也是無法做到連續的,後來的鍵會按演算法調整到其它位置。
(2)字典空間擴容,當鍵的數量超過字典默認開的空間時,字典會做空間擴容,擴容後的鍵順和創建順序就會發生變化,不受人為控制。

『肆』 python字典中根據值的大小,按順序排列鍵有什麼方法

s={"a":"bb","b":"cc","c":"aa"}
deffun(s):
d=sorted(s.iteritems(),key=lambdat:t[1],reverse=False)
returnd

d=fun(s)
printd

iteritems()得到的[(鍵,值)]的列表,通過sorted方法,指定排序的鍵值key是原來字典中的value屬性,其中用到了匿名函數lambda,參數為t列表,返回第二個元素t[1],也就是每個鍵值對中的value,從小到大排序時reverse=False,從大到小排序是True!

熱點內容
DVFFORTRAN編譯器 發布:2024-11-24 00:03:50 瀏覽:615
sublimetext如何配置php 發布:2024-11-23 23:54:22 瀏覽:436
linux文件系統分區 發布:2024-11-23 23:54:15 瀏覽:736
sql儲存過程 發布:2024-11-23 23:50:51 瀏覽:996
取整c語言 發布:2024-11-23 23:50:32 瀏覽:910
學習c語言要背什麼 發布:2024-11-23 23:34:02 瀏覽:41
透視ftp 發布:2024-11-23 22:39:55 瀏覽:342
平板配置好點的有哪些 發布:2024-11-23 22:32:09 瀏覽:657
巧影商店伺服器怎麼樣 發布:2024-11-23 22:06:15 瀏覽:779
雲伺服器網oppo 發布:2024-11-23 22:06:11 瀏覽:818