17

我正在按键对字典进行排序,但我想颠倒顺序。但是,对于我在网上看到的一些示例,我并没有感到很高兴。

这是排序

tempdict = collections.OrderedDict(sorted(tempdict.items()))

现在我正在尝试:

reverse = collections.OrderedDict(tempdict.items()[::-1])
reverse = collections.OrderedDict(map(reversed, tempdict.items()))

但这些都行不通。对字典进行排序的最聪明和最优雅的方法是什么。是的,我知道,字典并没有真正用于排序,但这对我们很有效。谢谢。

4

2 回答 2

37

要以相反的顺序排序:

collections.OrderedDict(sorted(tempdict.items(), reverse=True))

要反转现有的字典:

collections.OrderedDict(reversed(list(tempdict.items())))
于 2013-04-01T12:03:49.527 回答
6
>>> d = collections.OrderedDict([(1,2),(3,4),(5,6)])
>>> collections.OrderedDict(reversed(list(d.items())))
OrderedDict([(5, 6), (3, 4), (1, 2)])
于 2013-04-01T12:04:25.150 回答