虽然我有一个字典列表 detected_intersections ,其中有236个项目。使用代码:
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循环中删除键 seq 时,会出现KeyError:>
如果使用代码:
for i in detected_intersections:
if 'seq' in i:
i.pop('seq')
print(i)
代码将成功编译,但是数据丢失:
我非常确定列表的每个项目中都有 seq ,并且它们的大小写都是正确的,我很困惑为什么会这样。
谢谢
答案 0 :(得分:0)
如果一个dict
没有一个seq
键,那么您将拥有KeyError
。您可以通过为pop()
提供默认返回值来防止这种情况:
i.pop("seq", None)