【发布时间】:2020-07-21 00:55:34
【问题描述】:
我有一个数组
a = [4, 5, 6]
for x in a:
x=x + 1
print(a)
它不会改变数组。我要 5 6 7
【问题讨论】:
-
s = set(thing.keys()) -
@ThuYeinTun 其实你只需要
set(thing) -
del values从当前命名空间中删除名称values。del从不删除对象。在任何情况下,values本质上是对字典中值的类似集合的视图,删除该对象不会对字典对象产生影响。 -
更根本的是,字典不仅仅是一个带有值的集合......你不能只是“删除值”并神奇地创建一个集合对象。 Python 永远不会像这样工作。您不能像那样只更改对象的类型,尤其是内置类型(没有疯狂的自省 hijinks 和hackery)。
-
@juanpa.arrivillaga 感谢您的评论。我有一个问题。如果
del从不删除对象,那么python如何防止内存泄漏呢?如果当前命名空间中的对象引用消失了,引用计数器应该减少或归零吗?