OrderedDict會記住將項目添加到字典的順序,而不是排序順序。
但是,您可以輕鬆地從常規詞典中創建排序列表。例如:
>>> list1={106:0.33,107:0.21,98:0.56}
>>> sorted(list1.items())
[(98, 0.56), (106, 0.33), (107, 0.21)]
或者,如果你想在一個OrderedDict,只是應用排序後OrderedDict:
>>> from collections import OrderedDict
>>>
>>> list1={106:0.33,107:0.21,98:0.56}
>>> OrderedDict(sorted(list1.items()))
OrderedDict([(98, 0.56), (106, 0.33), (107, 0.21)])
但常規字典沒有排序順序的概念,所以你不能排序字典本身。
但是,如果你真的想要的顯示,你可以創建自己的類:
>>> from collections import OrderedDict
>>> class MyDict(OrderedDict):
... def __repr__(self):
... return '{%s}' % ', '.join(str(x) for x in self.items())
...
>>> list1={106:0.33,107:0.21,98:0.56}
>>> MyDict(sorted(list1.items()))
{(98, 0.56), (106, 0.33), (107, 0.21)}
我想輸出爲{98:0.56,106:0.33,107:0.21}。我如何得到這個? –
@Explore_SDN - 添加自定義類示例 –
合理! :) 謝謝。 –