pythondict順序
❶ 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怎麼對字典進行排序
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中字典能排序嗎
用標準的dict生成的字典是無序的。但python在標准庫中提供了ordereddict,它提供了有序字典的數據結構。
❹ python 中dictionary值可以排序嗎
可以按照key或value排序:
測試dict字典內容如下:
test_dict={'zhangsan':20,'lisi':30,'wangerma':40}
1. 按key順序排列
for key in sorted(test_dict.iterkeys()):print "%s: %s" % (key, test_dict[key])
若要按key值降序排列:
for key in sorted(test_dict.iterkeys(),reverse=True):print "%s: %s" % (key, test_dict[key])
2. 按value數序排列
for key, value in sorted(test_dict.iteritems(), key=lambda (k,v): (v,k)):print "%s: %s" % (key, value)
若要按value值降序排列:
for key, value in sorted(test_dict.iteritems(), key=lambda (k,v): (v,k),reverse=True):print "%s: %s" % (key, value)
轉自:http://lovesoo.org/python-dict-sorted-by-key-or-value.html
❺ Python中如何以dict的key排序輸出
#輸出的順序卻不是我們預想的那樣初始化的順序,查詢相關文獻得知,Python保證遍##歷字典所有元素,但不保證遍歷的順序,假如我們期望按預先的順序進行遍歷的話,#我目前找到一個辦法,就是通過兩個List分別存儲Key和Value,然後通過zip合並為Dic#tionary,再遍歷:
#通過zip方法合並兩個List為Dictionary
#遍歷會按原先的順序
keys=["b","a","c","e","d"]
values=["2","1","3","5","4"]
forkey,valueinzip(keys,values):
print(key,value)
#--OUTPUT--
#b2
#a1
#c3
#e5
#d4
❻ python字典怎麼排序
python字典怎麼排序?
定義一個字典類型
mydict = {2: '小路', 3: '黎明', 1: '郭富城', 4:'周董'}
可分別列印 key和value 看一下數據
按KEY排序,使用了 lambda和 reverse= False(正序)
key和value都輸出
reverse= True(逆序)
按value排序,漢字次序不是按拼音輸出
sorted並不改變字典本身的數據次序。
輸出後為列表和元組
可以 A = sorted(mydict.items(),key = lambda mydict:mydict[1],reverse= False) 賦值給A ,A的次序是變化後的
推薦:《Python教程》
注意事項
sorted並不改變字典本身的數據次序
如果要變化後的 可以賦值給另一個列表變數以上就是小編分享的關於python字典怎麼排序的詳細內容希望對大家有所幫助,更多有關python教程請關注環球青藤其它相關文章!