我有一个包含11个项目的dict,下面是Spyder variable explorer的scree快照:
def buildDF(result_set):
master_dm = []
for p in result_set:
rows = p['reports']
master_dm.append(rows)
return(master_dm)
sessions1DF = buildDF(sessions1)
TypeError: string indices must be integers
当我查看sessions1时,我可以看到上面的屏幕上有11个条目。双击其中一个项目将显示每个项目中的报告:
为什么会出现这个错误?我如何建立一个新的列表,包含11个嵌套在结果集中每个项目下的报表列表?在
在遍历字典时,尝试调用
dict.items()
方法:类似的问题可以在这里找到:Iterating over dictionaries using 'for' loops
从我能收集到的信息来看,session1是一个包含其他字典的字典,因此要按您希望的方式迭代这些项,您需要在字典上使用
.items()
方法,即:您现在所做的只是迭代键列表,这些键是字符串。这意味着原始代码中的
p['reports']
行正试图访问它正在查看的任何键的'reports'
元素。这是不能做到的,因为字符串只能用整数索引-因此会出现错误。在相关问题 更多 >
编程相关推荐