Допустим, у меня есть список кортежей с указанием штатов и округов:
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'}]