【发布时间】:2015-10-16 22:48:51
【问题描述】:
我尝试对此进行排序
{1: 2, 3: 4, 4: 3, 2: 1, 0: 0}
到这里
{3: 4, 4: 3, 1: 2, 2: 1, 0: 0}
使用 a:b 模型,其中按最高 b 值排序
import operator
x = {1: 2, 3: 4, 4: 3, 2: 1, 0: 0}
sorted_x = sorted(x.items(), key=operator.itemgetter(1), reverse=True)
print(sorted_x)
第一个结果很好,但是是列表形式:
[(3, 4), (4, 3), (1, 2), (2, 1), (0, 0)]
我尝试过
print(dict(sorted_x))
但是……
{0: 0, 1: 2, 2: 1, 3: 4, 4: 3}
如何保存正确排序的结果并将其转换为 dict 格式? 非常感谢
更新:
OrderedDict([(3, 4), (4, 3), (1, 2), (2, 1), (0, 0)])
我不明白 OrderedDict 如何解决我的问题
【问题讨论】:
-
dict不维持秩序,为此您可以使用orderedDict。 -
在您可能阅读问题之前?可能的'
-
@JaroslavNenazvanyi:我读到了你的问题!但是没有orderedDict的顺序依赖于Python实现!