當前位置:首頁 » 編程語言 » python如何給字典排序

python如何給字典排序

發布時間: 2022-07-23 15:38:45

python字典排序問題

python3.7以上默認是按照你添加字典項目的順序,而不會給你排序

python3.6以下連插入順序都是不保證的

Ⅱ 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字典排序問題

python字典里根本就沒順序,即便你用鍵值大小排序,那你也把所有簡直放到一個列表裡比較下才能找到最值,最終還是在列表裡完成的排序。

Ⅳ python 中的字典怎麼排序,怎麼按照添加的順序顯示

給你看看這個字典 dic = {'a':1 , 'b':2 , 'c': 3},字典中的元素沒有順序,所以dic[0]是有語法錯誤的。並且不可以有重復的鍵值,所以 dic.add['c'] = 4後,字典變成 {'a':1 , 'b':2 , 'c': 4}.現思考如下:如何根據需要可以根據「鍵」或「鍵值」進行不同順序的排序?函數原型:sorted(dic,value,reverse)解釋:dic為比較函數,value 為排序的對象(這里指鍵或鍵值), reverse:註明升序還是降序,True--降序,False--升序(默認)案例:dic = {'a':1 , 'b':2 , 'c': 3}1.print sorted(dic.iteritems(), key = lambda asd:asd[0] ,reverse = True)#結果:[('c', 3), ('b', 2), ('a', 1)]2.print sorted(dic.iteritems(), key = lambda asd:asd[0] )#結果:[('a', 1), ('b', 2), ('c', 3)] ,默認(升序)3.print sorted(dic.iteritems(), key = lambda asd:asd[1] )#結果:[('a', 1), ('b', 2), ('c', 3)]這里介紹兩個函數:1.lambda案例:fuc = lambda x:x+ 2print fuc(3) #結果5,意思對於x ,返回 x + 22.iteritems()案例:dic = {'a':1 , 'b':2 , 'c': 3}print dic.iteritems() # 返回字典鍵-值對的一個迭代器在函數sorted(dic.iteritems(), key = lambda asd:asd[1])中,第一個參數傳給第二個參數「鍵-鍵值」,第二個參數取出其中的鍵(【0】)或鍵值(【1】)

Ⅳ python中字典的排序

>>> d
{'a': 1, 'world': 11, 'z': 9, 'hello': 10}
>>> k=d.keys()
>>> k.sort()
>>> k
['a', 'hello', 'world', 'z']
>>> t=map(lambda key:(key,d[key]),k)
>>> t
[('a', 1), ('hello', 10), ('world', 11), ('z', 9)]

Ⅵ Python怎麼排序字典,當字典里的值都是一個類的實例化對象,鍵為不同的字元串,根據實例化對象的值x排序

http://www.360doc.cn/article/16740871_381432205.html
很容易,調用函數按值排序就好了。

Ⅶ python 字典排序

字典是無序的,兄弟

你看嘛:

>>>testmap={123:['aaa',5],234:['bbb',2],345:['ccc',3],456:['ddd',1]}
>>>printtestmap
{456:['ddd',1],345:['ccc',3],234:['bbb',2],123:['aaa',5]}
>>>testmap={456:['ddd',1],234:['bbb',2],345:['ccc',3],123:['aaa',5]}
>>>printtestmap
{456:['ddd',1],345:['ccc',3],234:['bbb',2],123:['aaa',5]}
>>>

Ⅷ Python字典如何排序啊,給例子謝謝

在Python2.7.x版本中, collections類增加了OrderedDict, 用法如下:


在Python2.7.x版本中, collections類增加了OrderedDict, 用法如下:

pywugw@pywugw-laptop:~$ /usr/local/bin/python2.7
Python 2.7b1 (r27b1:79927, Apr 26 2010, 11:44:19)
[GCC 4.4.3] on linux2
Type "help", "right", "credits" or "license" for more information.
>>> from collections import OrderedDict
>>> d = {'banana': 3, 'apple':4, 'pear': 1, 'orange': 2}

#按key排序
>>> OrderedDict(sorted(d.items(), key=lambda t: t[0]))
OrderedDict([('apple', 4), ('banana', 3), ('orange', 2), ('pear', 1)])

#按value排序
>>> OrderedDict(sorted(d.items(), key=lambda t: t[1]))
OrderedDict([('pear', 1), ('orange', 2), ('banana', 3), ('apple', 4)])
#按key的長度排序
>>> OrderedDict(sorted(d.items(), key=lambda t: len(t[0])))
OrderedDict([('pear', 1), ('apple', 4), ('orange', 2), ('banana', 3)])

Ⅸ 怎麼不用函數對字典里的元素排序python

比較,如果不使用 函數 就只能是列表中的每個字典本 回答 1 已採納 from ... Python 排序 函數 完美體現了 Python 語言的簡潔性。

熱點內容
創建資料庫並設置編碼 發布:2025-01-31 11:11:52 瀏覽:781
搭建數據中心需要的伺服器配置 發布:2025-01-31 11:11:44 瀏覽:590
c語言小數點後四捨五入 發布:2025-01-31 11:10:10 瀏覽:496
httpslinux 發布:2025-01-31 11:10:09 瀏覽:828
java4 發布:2025-01-31 11:08:42 瀏覽:355
什麼是密碼屏蔽 發布:2025-01-31 11:05:13 瀏覽:216
一個演算法的效率可分為 發布:2025-01-31 11:05:12 瀏覽:639
win7用戶名密碼是什麼 發布:2025-01-31 10:57:38 瀏覽:394
網址埠訪問 發布:2025-01-31 10:49:30 瀏覽:512
javaweb代碼 發布:2025-01-31 10:37:54 瀏覽:259