我有以下结构(让我们称之为event_dict):
<App />
之类的东西(让我们称之为event_list):
extends Component
我试图在事件字典中推送事件列表中的数据。我正在使用event_list ['code']来确定哪个事件必须根据它的键附加到event_dict中。
这是我写的代码:
{
'ABC123':[],
'ABC234':[],
'ABC444':[]
}
但是我收到了这个错误:[
{'code':ABC123, 'data':'some data' },
{'code':ABC234, 'data':'some data' }
{'code':ABC234, 'data':'some data' }
]
有些东西我没有得到,但我看不出来。\
有更好的方法吗?我只是试图根据他们的for event in event_list :
/* some processing here */
for motherEvent in event_dict :
if motherEvent.keys()[0] == event['code']:
event_dict[motherEvent.keys()[0]].append(event)
/* also tried this :
motherEvent.append(event) and got :
list indices must be integers, not dict */
在更高的结构中对一组dicts进行分组。
答案 0 :(得分:2)
我修复了您提供的数据:
event_dict = {
'ABC123':[],
'ABC234':[],
'ABC444':[]}
event_list = [
{'code': 'ABC123', 'data':'some data' },
{'code': 'ABC234', 'data':'some data' },
{'code': 'ABC234', 'data':'some data' }]
您可以执行以下操作:
for el in event_list:
event_dict[el['code']].append(el['data'])
您将获得以下结果:
{'ABC123': ['some data'], 'ABC444': [], 'ABC234': ['some data', 'some data']}
无需嵌套for循环。如果可以,尽量避免嵌套循环。