为什么 Jupyter notebook 对我的代码有问题,而 Pycharm 没有?

Why does Jupyter notebook have problems with my code that Pycharm does not?

我正在使用 PyCharm 编写我的代码,然后使用 Jupyter 我必须通过一些必需的测试。

然而,在 Pycharm 中提供完美工作解决方案的同一段代码在 Juptyer 中产生了一个键错误。有什么理由吗? Numpy 似乎工作正常......问题出在我的字典上。 以下是我得到的错误:

    ipython-input-34-35752ede55c7> in myfunction(input)
         56     mydict = {}
         57     for s in d:
    ---> 58         vals = set(sum(units[s],[]))-{s}
         59         mydict[s] = vals
         60 

    KeyError: 'A1'

编辑:在 PyCharm 中你可以清楚地看到 A1 肯定存在,但在 jupyter 中显然 A1 不存在,两者的代码是相同的:(请参见 pycharm 调试器的图像)

很难说没有更多 data/code,但似乎 'A1' 不存在于您在 Jupyter 中的任何 运行 中。您确定数据和代码完全相同吗?

密钥错误通常发生在python找不到密钥时,如果没有字典,很难从您的代码中判断您映射密钥的方式可能存在什么问题。