排序我有一個Python字典,看起來是這樣的:建設字典值的列表,通過關鍵
attributes = {
'size': ['s','m','l'],
'color': ['black', 'orange'],
}
我想要得到值的列表。如果我使用values()
,我得到這個:
>>> attributes.values()
[['black', 'orange'], ['s', 'm', 'l']]
不過,我希望得到的名單列表,通過以相反的順序字典鍵進行排序 - 即大小,然後顏色,沒有顏色,然後大小。我想這一點:
[['s', 'm', 'l'], ['black', 'orange']]
我不necesarilly知道字典鍵是什麼事前,但我總是知道如果我想他們按字母順序或反向字母順序。
有沒有一些pythonic的方式來做到這一點?
我能想到的唯一的事情好像......不是很蟒蛇般:
keys = sorted(attributes.keys(), reverse=True)
result = []
for key in keys:
result.append(attributes[key])
很難從attributes.values()
去所有的,只是對列表進行排序!
字典是無序的,所以沒有簡單的方法來指定y字典鍵的顯示順序。您可以訂購顯示器,但不是字典本身。但是,您可以嘗試使用Ordered Dict(包含在Python 2.7+中)來解決此問題。 –
'sorted(attributes,reverse = True)',你不需要.keys –