这就是我正在尝试的:
d = {num1 : num2 for num1 in range(4) for num2 in range(4,8)}
我以为我应该{0 : 4, 1 : 5, 2 : 6, 3 : 7}
我得到的是{0 : 7, 1 : 7, 2 : 7, 3 : 7}
答案 0 :(得分:4)
如果要同时迭代两个范围,则应使用Level 42
Running In The Family
:
zip
答案 1 :(得分:1)
嵌套的理解就好像for
循环从上到下嵌套一样。因此,您的代码等同于 -
d = {}
for num1 in range(4):
for num2 in range(4,8):
d[num1] = num2
每次迭代都会使用最新值更新dict
,因此最终得到7
。你可能想要@Fernando回答的内容,即
d = dict(zip(range(4), range(4,8)))
答案 2 :(得分:1)
a= dict(zip(range(m), range(m,n)))
print a
这对我有用。在你的情况下它将是
a= dict(zip(range(4), range(4,8)))