看板 Python 關於我們 聯絡資訊
※ 引述《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)