【发布时间】:2021-11-25 04:02:32
【问题描述】:
我正在玩字典,并考虑如何使用推导式创建字典。我以为
{k:v for k in [0,1,2] for v in [5,8,7]}
将打印为
{0:5, 1:8, 2:7}
但它打印为
{0: 7, 1: 7, 2: 7}
为什么会发生这种情况,我需要进行哪些修改才能获得第一个输出?
【问题讨论】:
-
键 0、1 和 2 在第一次迭代时将全部设置为 5,然后是 8,然后是 7
-
@BrutusForcus 啊,我明白了,那么使用 zip() 函数会更好吗?
-
你可以尝试像这样压缩:{k: v for k, v in zip([0, 1, 2], [5, 8, 7])}
标签: python dictionary list-comprehension dictionary-comprehension