从字典中删除一个元素。

23 浏览
0 Comments

从字典中删除一个元素。

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

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


另请参见如何从Python字典中删除键?,针对可能不存在的项目(按键)的具体问题。

admin 更改状态以发布 2023年5月20日
0
0 Comments

pop会改变字典的内容。

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

如果您想保留原始字典,只需复制它即可。

0
0 Comments

del语句可删除一个元素:

del d[key]

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

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

dict()构造函数会创建浅层复制。要创建深层复制,请参见copy模块


请注意,为每个字典创建副本(del、赋值等)意味着您的操作从常数时间变为线性时间,并且还使用线性空间。对于小字典,这并不是问题。但是,如果您计划制作大量大型字典的副本,您可能需要不同的数据结构,例如HAMT(如此答案所述)。

0