从字典中删除一个元素

新手上路,请多包涵

如何从 Python 的字典中删除一个项目?

在不修改原始字典的情况下,如何获得另一个删除项目的字典?

原文由 richzilla 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 399
2 个回答

del 语句 删除一个元素:

 del d[key]

请注意,这会改变现有字典,因此对于引用同一实例的任何其他人,字典的内容都会发生变化。要返回 字典,请复制字典:

 def removekey(d, key):
    r = dict(d)
    del r[key]
    return r

dict() 构造函数进行 _浅拷贝_。要进行深层复制,请参阅 copy 模块


请注意,为每个字典制作副本 del /assignment/etc。意味着您将从恒定时间变为线性时间,并且还使用线性空间。对于小型字典,这不是问题。但是,如果您打算制作大量大型字典的副本,您可能需要不同的数据结构,例如 HAMT(如 本答案 中所述)。

原文由 Greg Hewgill 发布,翻译遵循 CC BY-SA 4.0 许可协议

pop 改变字典。

  >>> lol = {"hello": "gdbye"}
 >>> lol.pop("hello")
     'gdbye'
 >>> lol
     {}

如果你想保留原件,你可以复制它。

原文由 Crystal 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题