我有下面的字典清单
_list = [
{ 'id': '1', 'contactName': 'John', 'contactEmail': 'John@abc.com', 'role': 'Developer' },
{ 'id': '2', 'contactName': 'Elon', 'contactEmail': 'Elon@abc.com', 'role': 'Developer' },
{ 'id': '3', 'contactName': 'Suar', 'contactEmail': 'Suar@abc.com', 'role': 'Developer' },
{ 'id': '3', 'contactName': 'Suar', 'contactEmail': 'Suar@abc.com', 'role': 'Tester' }
]
代码如下。你能告诉我错误在哪里吗
list_dict = {}
for element in _list:
element_id = element.pop('id')
element_role = element.pop('role')
list_dict[element_id] = list_dict.get(emp_id, {})
list_dict[element_id].update(element)
list_dict[element_id]['role'] = list_dict[element_id].get('role', [])
list_dict[element_id]['role'].append(element_role)
test = {'contacts': list_dict}
print(test)
我的问题是
{'contacts': {
'1': {'contactName': 'John', 'contactEmail': 'John@abc.com', 'role': ['Developer']},
'2': {'contactName': 'Elon', 'contactEmail': 'Elon@abc.com', 'role': ['Developer']},
'3': {'contactName': 'Suar', 'contactEmail': 'Suar@abc.com', 'role': ['Tester']}
}}
我的预期结果是
{'contacts': {
'1': {'contactName': 'John', 'contactEmail': 'John@abc.com', 'role': ['Developer']},
'2': {'contactName': 'Elon', 'contactEmail': 'Elon@abc.com', 'role': ['Developer']},
'3': {'contactName': 'Suar', 'contactEmail': 'Suar@abc.com', 'role': ['Developer', 'Tester']}
}}
首先,您的输入应该是:
我想你错过了左边。 我试过这个密码
在for循环的第三行,我将ur代码中的“emp_id”替换为“element_id”。因此,它可以工作。我的结果是:
相关问题 更多 >
编程相关推荐