将项目添加到嵌套字典

时间:2020-02-13 14:54:33

标签: python python-3.x list dictionary for-loop

我正在尝试读取列表中的列表,并将键和值添加到字典中的字典。但是我发现'str'对象不支持赋值错误。

代码:

report_dict = dict()
axis_list = []
results = self.report_data(conn)
for row in results:
  try:
    report_dict[row[0]] = row[3]
    report_dict[row[0]][row[3]] = row[1]
  except IndexError:
    None 
  print(report_dict)

结果:

report_dict = { abc: {qwe:asd}, …..}

1 个答案:

答案 0 :(得分:2)

我认为您想做的是制作一个嵌套字典。如果我正确理解了您的输入,只需将report_dict[row[0]]设置为一个空字典,通过更改

即可修复您的代码
report_dict[row[0]] = row[3]

report_dict[row[0]] = {}

这将进入下一行,

report_dict[row[0]][row[3]] = row[1]

将具有值row[3]的键row[1]添加到字典report_dict[row[0]]中。这将给我们:

report_dict = {row[0]: {row[3]: row[1]}, ...}

我认为这是您的预期输出。