Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Can';t将多个对象追加到列表类型词汇值_Python_Structure - Fatal编程技术网

Python Can';t将多个对象追加到列表类型词汇值

Python Can';t将多个对象追加到列表类型词汇值,python,structure,Python,Structure,我撞到墙上,慢慢陷入绝望 我有以下结构(我们称之为事件dict): 类似这样的事情(我们称之为单事件列表): 我试图在我的事件目录中推送事件列表中的数据。我正在使用事件列表['code']根据事件目录的键确定必须在事件目录中追加的事件 以下是我编写的代码: for event in event_list : /* some processing here */ for motherEvent in event_dict : if motherEvent.keys()[0]

我撞到墙上,慢慢陷入绝望

我有以下结构(我们称之为事件dict):

类似这样的事情(我们称之为单事件列表):

我试图在我的事件目录中推送事件列表中的数据。我正在使用事件列表['code']根据事件目录的键确定必须在事件目录中追加的事件

以下是我编写的代码:

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 */
但是我得到了这个错误:
列表索引必须是整数,而不是unicode

有些东西我没有得到,但我不知道是什么\


有更好的方法吗?我只是想根据dict的
'code'

在更高的结构中对dict列表进行分组,我修复了您提供的数据:

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循环。尽量避免嵌套循环。

我修复了您提供的数据:

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循环。尽可能避免嵌套循环。

不要在Python代码中使用C风格的注释。请使用Python注释。请注意以下内容:
motherEvent.keys()[0]
不会总是提供您想要的内容。字典是无序的数据结构。不要在Python代码中使用C风格的注释。请使用Python注释。请注意以下内容:
motherEvent.keys()[0]
不会总是提供您想要的内容。字典是无序的数据结构。我需要检查event_dict键是否与event_list['code']匹配,因此我没有选择循环到这两个结构中。在你发表评论之前,我已经编辑了我的帖子,所以我相信你还没有看到它,但是这段代码给了我一个错误:列表索引必须是整数,而不是dicter。你不需要检查键是否已经为你做了这些。“我使用event_list['code']根据事件的键来确定哪些事件必须附加到event_dict中。”您不需要if语句,如果它抛出,则处理它!如果不匹配,是否有else子句?包含if语句有什么好处?我很好奇,也许我遗漏了什么?
event\u list
的值必须是一个字符串,并且缺少一个逗号。我需要检查event\u dict键是否与event\u list['code']匹配,因此我没有选择循环到这两个结构中。在你发表评论之前,我已经编辑了我的帖子,所以我相信你还没有看到它,但是这段代码给了我一个错误:列表索引必须是整数,而不是dicter。你不需要检查键是否已经为你做了这些。“我使用event_list['code']根据事件的键来确定哪些事件必须附加到event_dict中。”您不需要if语句,如果它抛出,则处理它!如果不匹配,是否有else子句?包含if语句有什么好处?我很好奇,也许我遗漏了什么?
event\u list
的值必须是字符串,并且缺少逗号。