【发布时间】:2019-02-19 09:39:35
【问题描述】:
假设我有一个包含州和县的元组列表:
stList = [('NJ', 'Burlington County'),
('NJ', 'Middlesex County'),
('VA', 'Frederick County'),
('MD', 'Montgomery County'),
('NC', 'Lee County'),
('NC', 'Alamance County')]
对于这些项目中的每一个,我想将州与县一起压缩,如下所示:
new_list = [{'NJ': 'Burlington County'},
{'NJ': 'Middlesex County'},
{'VA': 'Frederick County'},
{'MD': 'Montgomery County'},
{'NC': 'Lee County'},
{'NC': 'Alamance County'}]
我试过这样的方法,但它不能正常工作(它遍历每个“字母”并单独压缩它们):
new_list = []
for item in stList:
d1 = dict(zip(item[0], item[1]))
new_list.append(d1)
返回:
[{'N': 'B', 'J': 'u'},
{'N': 'M', 'J': 'i'},
{'V': 'F', 'A': 'r'},
{'M': 'M', 'D': 'o'},
{'N': 'L', 'C': 'e'},
{'N': 'A', 'C': 'l'}]
为了让事情变得更复杂,我的最终目标实际上是为每个州(键)创建一个字典列表,其中包含县(值)作为列表。如何修复压缩字典,然后将县作为每个州的列表?
final_list = [{'NJ': ['Burlington County', 'Middlesex County']},
{'VA': 'Frederick County'},
{'MD': 'Montgomery County'},
{'NC': ['Lee County', 'Alamance County'}]
【问题讨论】:
-
您制作字典列表而不是单个字典是否有原因?
-
这是我将一个非常复杂的问题拼接成多个部分的方法。所以回答你的问题;是的。我希望以后能够轻松地迭代每个项目。
标签: python-3.x list dictionary tuples zipper