虽然我有一个包含 236 个项目的字典detected_intersections列表。用代码:
for i in detected_intersections:
print(i)
看起来像:
带代码:
detected_intersections = detect_intersections()
for i in detected_intersections:
if 'seq' in i:
print(i)
它看起来和上面一样:
但是当我使用del 语句或pop() 方法删除for 循环中的 key seq时,就会出现 KeyError:
如果使用代码:
for i in detected_intersections:
if 'seq' in i:
i.pop('seq')
print(i)
代码会编译成功,但数据丢失:
我很确定列表的每个项目中都有seq并且它们的情况是正确的,我很困惑为什么会发生这种情况。
谢谢
如果其中一个dict
没有seq
密钥,您将拥有KeyError
. 您可以通过为 提供默认返回值来防止这种情况pop()
:
i.pop("seq", None)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句