首页 > 解决方案 > 是否可以在不更改 python 字典中的键的情况下按首选顺序排列键值?

问题描述

我想将输入作为字典接收,并按升序重新排列键值而不更改键。

例如:输入:

{"Hi:5, "Hey":3, "Hello":10}

输出

{"Hi":3, "Hey":5, "Hello":10}

标签: pythonpython-2.7

解决方案


您可以将其解压缩到列表中,然后使用值对列表进行排序,然后像这样重新打包:

stuff = {"Hi":5, "Hey":3, "Hello":10}
keys = []
values = []

for key in stuff.keys():
    keys.append(key)
    values.append(stuff[key])

values.sort()

i = 0
for key in stuff.keys():
    stuff[key] = values[i]
    i += 1

print stuff

推荐阅读