直接将输入直接输入python字典时的键和值反转

时间:2018-08-02 11:07:57

标签: python

我想从输入中创建字典,输入是用换行符分隔的整数,格式为

1
2

我的代码是这样的-

d1 = dict()
d1[ 1 ] = 2
print(d1) # output is as expected- {1:2}

d2 = dict()
d2[ int(input()) ] = int(input())
print(d2)

我希望'd2'为

{1:2}

但是显然键和值是互换的,所以输出是

{2:1}

我可以交换值,但是我想知道为什么会这样。有人可以解释这背后的原因吗?

1 个答案:

答案 0 :(得分:2)

赋值的右边先于赋值左边。因此,首先评估d2[ int(input()) ],然后评估input()。不是您从左到右阅读的方式。因此,第一个{{1}}调用的第一个返回值最终以值而不是键结束。