我想从输入中创建字典,输入是用换行符分隔的整数,格式为
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}
我可以交换值,但是我想知道为什么会这样。有人可以解释这背后的原因吗?
答案 0 :(得分:2)
赋值的右边先于赋值左边。因此,首先评估d2[ int(input()) ]
,然后评估input()
。不是您从左到右阅读的方式。因此,第一个{{1}}调用的第一个返回值最终以值而不是键结束。