Python入门求助:如何用两列表生成含重复键的字典列表
问题原因
你用dict(zip(list2, list1))得到单个字典是因为字典的键具有唯一性。当zip(list2, list1)生成三组键值对时,后两组的键和第一组完全相同,创建字典时后面的键值对会直接覆盖前面的,最终只保留最后一组的结果。
解决方案
要得到你期望的多个字典组成的列表,用列表推导式遍历两个列表的对应元素,逐个生成字典即可:
list1 = ['abc','cbd','efg'] list2 = ['applicationName','appllicationName','appllicationName'] result = [{key: value} for key, value in zip(list2, list1)] print(result)
运行后输出就是:
[{'applicationName': 'abc'}, {'appllicationName': 'cbd'}, {'appllicationName': 'efg'}]
另外注意你list2里的拼写,前一个是applicationName,后两个是appllicationName(多了一个l),如果是笔误可以统一修正,不影响代码逻辑。
内容的提问来源于stack exchange,提问作者Prasad
相关产品推荐
相关产品推荐

