我想知道Python C-API函数PyDict_DelItem
的-1返回值的可能原因是什么。
我确信键和值存在于字典中,但不明白为什么有时候我得到-1返回值。我没有找到关于可能原因的文件。
答案 0 :(得分:3)
来自source code:
PyDict_Check
测试失败):引发SystemError
。NotImplemented
或其他异常,具体取决于确切的__hash__
或PyObject_Hash
挂钩实现。KeyError
。在任何情况下PyDict_DelItem
返回-1时,您需要检查exception being set。