我有一本字典(cell0),其键如下所示。很明显,我的字典中有一个名为“46”的键。我已经确认该密钥中有正确的数据。当我使用 for 循环并尝试迭代字典来执行某些任务时,它显示“KeyError:46”。谁能帮助理解为什么会发生这种情况?cell0.keys()我执行了以下填充操作以使所有数组的大小相同。for key in cell0:for i in cell0[i]: x = cell0[i]['I'].shape x = sum(x) y = cell0[i][key].shape y = sum(y) l = (x-y) if x != y: cell0[i][key] = np.pad((cell0[i][key]),[(0,l)],mode='constant', constant_values=0)当我使用上面的代码运行单元时,我收到这样的错误。KeyError Traceback (most recent call last)<ipython-input-9-0955afc863ef> in <module> 1 for key in cell0: 2 ----> 3 for i in cell0[i]: 4 x = cell0[i]['I'].shape 5 x = sum(x)KeyError: 46
1 回答
达令说
TA贡献1821条经验 获得超6个赞
如果 cell0 是字典,则不能对其进行切片 ----> for i in cell0[i]
考虑到 'dict_keys'(cell0.keys()) 对象也是不可下标的
您可以使用 cell0.items() 来访问键和值
请注意,最好使用 cell0.get(key) 方法来访问字典中的值
for key, value in cell0.items(): x = value.get("I").shape() ...# your code
添加回答
举报
0/150
提交
取消