您可以获取列表中的值,然后将其反转,用键压缩并返回dict,如下所示:
# python_version > 3.8
>>> dict(zip(role_positions, reversed(role_positions.values())))
{'role1': 3, 'role2': 2, 'role3': 1}
# python_version < 3.8
>>> dict(zip(role_positions, reversed(list(role_positions.values()))))
对于较早版本的python,为了确保不同运行时的顺序,我们需要获得输入
dict
像
OrderedDict
: (
here
我们可以阅读一个很好的解释)
我们想我们得到
OrderDict
作为输入,以下代码仅用于创建
OrderDict公司
. 如果我们在旧版本中使用以下代码,可能会得到不同的OrderedDict(因为
role_positions
可能得到不同的顺序),但我们假设用户输入
OrderDict公司
from collections import OrderedDict
# we supoose we input below dict
o_dct = OrderedDict((k, v) for k,v in role_positions.items())
dict(zip(o_dct, reversed(list(o_dct.values()))))