Python字典:根据第一个值创建新字典

时间:2018-06-15 15:45:49

标签: python dictionary

假设我有一个这样的词典:

d1 = {'user1': 5, 'user2': 50, 'user3': 75, 'user4': 100}^M

还有另一本字典:

d2 = {5: 1, 50: 2, 75: 3, 100: 4}

我如何创建这样的第三个字典?

d1 = {'user1': 1, 'user2': 2, 'user3': 3, 'user4': 4}^M

(当然不是手动,因为字典只是简单的例子)。

3 个答案:

答案 0 :(得分:2)

您可以使用第一个词典中的值作为第二个词的

来使用dict理解
>>> d1 = {'user1': 5, 'user2': 50, 'user3': 75, 'user4': 100}
>>> d2 = {5: 1, 50: 2, 75: 3, 100: 4}
>>> {key:d2[value] for key, value in d1.items()}
{'user1': 1, 'user2': 2, 'user3': 3, 'user4': 4}

答案 1 :(得分:2)

您可以使用词典理解:

d1 = {'user1': 5, 'user2': 50, 'user3': 75, 'user4': 100}
d2 = {5: 1, 50: 2, 75: 3, 100: 4}
d3 = {a:d2[b] for a, b in d1.items()}

输出:

{'user1': 1, 'user2': 2, 'user3': 3, 'user4': 4}

答案 2 :(得分:0)

使用dict

<强>实施例

d1 = {'user1': 5, 'user2': 50, 'user3': 75, 'user4': 100}
d2 = {5: 1, 50: 2, 75: 3, 100: 4}

print( dict((k,d2[v]) for k, v in d1.items() ) )

<强>输出:

{'user4': 4, 'user2': 2, 'user3': 3, 'user1': 1}