1 回答

TA贡献1864条经验 获得超2个赞
更新(基于更改的问题)
您可以使用嵌套字典理解生成所需的结果:
out = { "iteration" + str(i+1) : { list_header[j] : list_value[i*len(list_header)+j] for j in range(len(list_header)) } for i in range(len(list_value) // len(list_header)) }
print(out)
输出:
{'iteration3': {'b': 6, 'a': 5}, 'iteration2': {'b': 4, 'a': 3}, 'iteration4': {'b': 8, 'a': 7}, 'iteration1': {'b': 2, 'a': 1}}
原始答案
你不能创建这样的字典;字典键必须是唯一的。您可以创建一个元组列表:
list_header=['a','b']
list_value=[1,2,3,4,5,6,7,8]
out = [(h, v) for h, v in zip(list_header * (len(list_value) // len(list_header) + 1), list_value)]
print(out)
输出:
[('a', 1), ('b', 2), ('a', 3), ('b', 4), ('a', 5), ('b', 6), ('a', 7), ('b', 8)]
添加回答
举报