如何在Python中遍历多列表并将对应值存入字典生成列表?
解决方案
你可以利用Python的zip()函数来同时遍历三个列表,它会将三个列表中对应位置的元素配对,刚好满足你生成3个字典的需求。
示例代码
先修正原代码的变量定义(假设元素为具体值,比如字符串),再实现目标逻辑:
list1 = ['a', 'b', 'c'] list2 = ['d', 'e', 'f'] list3 = ['g', 'h', 'j'] new_list = [] # 遍历三个列表的对应元素 for k1, k2, k3 in zip(list1, list2, list3): new_dev = {'key1': k1, 'key2': k2, 'key3': k3} new_list.append(new_dev) print(new_list)
更简洁的列表推导式写法
如果想简化代码,可直接用列表推导式一行生成结果:
list1 = ['a', 'b', 'c'] list2 = ['d', 'e', 'f'] list3 = ['g', 'h', 'j'] new_list = [{'key1': k1, 'key2': k2, 'key3': k3} for k1, k2, k3 in zip(list1, list2, list3)]
代码说明
zip(list1, list2, list3)会把三个列表的对应元素打包成元组,比如第一个元组是('a', 'd', 'g'),第二个是('b', 'e', 'h'),第三个是('c', 'f', 'j')。- 循环中每次取出元组里的三个元素,分别赋值给
k1、k2、k3,对应填入字典的key1、key2、key3字段,最后添加到new_list中。 - 最终
new_list会包含3个字典元素,每个字典对应三个列表同一位置的元素。
内容的提问来源于stack exchange,提问作者user20880625
相关产品推荐
相关产品推荐

