通过引用删除dict键?

时间:2018-04-21 21:59:31

标签: python dictionary reference

要删除dict元素,我们这样做:

del d[key]

有没有办法通过引用此键来删除dict元素。 例如,如果我这样做:

 ref = d[key]
 del ref

删除' ref'变量。我想删除dict元素,而不是键,而是删除引用的var。更确切地说,我在另一个词典中保留了引用,如下所示:

ref[k] = d[key]
indirect_del(ref[k])

我想要的原因是'关键'太大了,我不想将密钥存储在引用字典中,但只是保持对它的引用,并最终能够删除引用。

这可能吗?

2 个答案:

答案 0 :(得分:0)

不,至少在mkdir test cd test git init

del删除名称,而不删除对象。在没有更多名称引用它们之后,垃圾收集器最终会删除对象。

但我认为存储对密钥的引用没有问题

del

答案 1 :(得分:0)

Perl引用可以做到这一点,但在Python中,除了引用键之外,不可能从dict中删除,这样就可以形成{{1}声明。

所以只需将该对存储在del d[k]词典中。当然,如果所有引用都在同一个ref中,那么显然可以写

d

并存储密钥。

目前尚不清楚您的内存问题是什么:当您将对象存储在多个位置时,对象不会占用更多内存。