九歌当下 发表于 2022-9-12 14:25:14

字典推导式为什么会是这个情况

d = {x:y for x in for y in }
d
{1: 6, 3: 6, 5: 6}
为什么不是
d
{1:2, 3:4, 5:6}

jackz007 发表于 2022-9-12 14:28:46

本帖最后由 jackz007 于 2022-9-12 14:35 编辑

      因为那是嵌套循环,要是那么写的话,就会出现同一个 x 对 3 个不同 y 的情况,而这个,恐怕是字典所不允许的。
d = {1:2,1:4,1:6,3:2,3:4,3:6,5:2,5:4,5:6}
      你所需要的结果应该这么来产生
d = {i:i+1 for i in range(1 , 6 , 2)}

九歌当下 发表于 2022-9-12 14:36:12

jackz007 发表于 2022-9-12 14:28
因为那是嵌套循环,要是那么写的话,就会出现同一个 x 对 3 个不同 y 的情况,而这个,恐怕是字典 ...

哦,谢谢了{:5_108:}
页: [1]
查看完整版本: 字典推导式为什么会是这个情况