字典中某个键的 KeyError

我有一本字典(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


陪伴而非守候
浏览 79回答 1
1回答

达令说

如果 cell0 是字典,则不能对其进行切片 ----> for i in cell0[i]考虑到 'dict_keys'(cell0.keys()) 对象也是不可下标的您可以使用 cell0.items() 来访问键和值请注意,最好使用 cell0.get(key) 方法来访问字典中的值for&nbsp;key,&nbsp;value&nbsp;in&nbsp;cell0.items(): &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x&nbsp;=&nbsp;value.get("I").shape() &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...#&nbsp;your&nbsp;code
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python