※ 引述《arlu (arlu)》之銘言:
: 想請問一個關於dictionary的問題,
: a_dict={'google':'gg', 'yahoo':'yy','facebook':'ff'}
: 我期望print出來的結果就是:
: {'google':'gg', 'yahoo':'yy','facebook':'ff'}
看標題以為你想要dictionary照某種方式排序
但實際上應該是希望能依照你增加進去的順序
如果是的話 可以這樣做(Python 2.7):
from collections import OrderedDict
a_dict = OrderedDict()
a_dict['google'] = 'gg'
a_dict['yahoo'] = 'yy'
a_dict['facebook'] = 'ff'
: 但實際上print(a_dict) 後,卻似乎是照字母排序,如下:
: {'google': 'gg', 'facebook': 'ff', 'yahoo': 'yy'}
: 試著爬過文,但找不到類似的解法,
: 想請問有什麼方法可以使用嗎?
: 感謝!!
dictionary本身無排序
若想排序 如同前面一樣使用OrderedDict:
from collections import OrderedDict
a_dict = {'a':3, 'c':1, 'b':2}
#依字母排序
sorted_dict = OrderedDict(sorted(a_dict.items(), key=lambda t: t[0]))
#依數字大小排序
sorted_dict = OrderedDict(sorted(a_dict.items(), key=lambda t: t[1]))
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.213.40
※ 編輯: animatrix 來自: 140.114.213.40 (05/05 23:58)