所以我有一个嵌套字典的列表,我想创建一个单独的字典。 前几天我也遇到过类似的问题,我认为解决方法非常相似,但我似乎无法控制它
这是原始列表:
list = [{'user': 'nikos', 'area': 'Africa', 'keywords': 'Kenya$Egypt'},
{'user': 'nikos', 'area': 'Europe', 'keywords': 'Brexit'},
{'user': 'maria', 'area': 'US & Canada', 'keywords': 'New York'},
{'user': 'maria', 'area': 'Latin America ', 'keywords': 'Brazil'}]
我想创建这样的词典:
dictionary = {'user': 'nikos', 'areas': {'Africa': ['Kenya',
'Egypt'],'Europe': ['Brexit']}
1)我成功地创建了这些:
{'user': 'nikos', 'areas': {'Africa': ['Kenya', 'Egypt']}}
{'user': 'nikos', 'areas': {'Europe': ['Brexit']}}
但我不能越过那个点,在我的循环中合并成一个dict(根据我的尝试,我得到了各种各样的错误)
2)我也试着做一个字典理解:
dict_1 = {'user': username, 'areas': {new_profile.get('areas') for x in
new_profs}}
这当然不正确,但我想知道我是否接近正确的答案
username = 'nikos'
user = {}
for i in list:
if i['user'] == username:
new_profile = {'user': username, 'areas': {i['area']: i['keywords'].split('$')}}
if new_profile:
new_profs = []
new_profs.append(new_profile)
你在正确的道路上。基本上,一旦您得到
new_profs
,您就需要单独处理合并。像这样:我会这样做:
它给出:
相关问题 更多 >
编程相关推荐