我知道有很多方法可以用两个列表制作字典,但是我想用两个FOR循环来迭代两个列表。因此,我使用了以下代码。令人惊讶的是,代码没有遍历包含字典键值的第二个列表,只将列表的最后一个元素视为值
key = ['hello', 'mello', 'vello']
value = [1, 2, 3]
dictionary = {k: v for k in key for v in value}
print('dictionary is ', dictionary)
结果是:
dictionary is: {'hello': 3, 'mello': 3, 'vello': 3}
但我预计结果将是:
dictionary is: {'hello': 1, 'mello': 2, 'vello': 3}
如果有人能为我澄清这一点,我将不胜感激
为此,可以使用zip
我的理解是,每个循环都会以每个数字作为键重新创建完整的字典,结果只有最后一个值的最终输出(最好通过反转键和值语句,返回
{1: 'vello', 2: 'vello', 3: 'vello', 4: 'vello'}
来显示)如果另一个是您的预期输出,那么这应该可以正常工作:
相关问题 更多 >
编程相关推荐