{x: x + y for x in range(4, 8) for y in range(3, 7)}
{4: 10, 5: 11, 6: 12, 7: 13}
x=4,所以从4:10开始。而这个10是x值的一半+y,每次x和y的值+1,直到13停止。因为8+7=13
因为本来生成的字典有4个key为4的,4个key为5的,4个key为6的,4个key为7的,只不过字典当中key相同的话,原来的会被覆盖掉,所以最后的结果就是这个了
博主的问题:dict1 = {x: x + y for x in range(4, 8) for y in range(3, 7)}相当于两个嵌套for循环,其内容等价于:
dict2 = {}
for x in range(4, 8):
for y in range(3, 7):
dict2[x] = x + y
因此,得出的最终结果如下:
{4: 10, 5: 11, 6: 12, 7: 13}