这是Python的循环引用的示例.
>>> a = [1]
>>> b = [2]
>>> a.append(b)
>>> b.append(a)
在这之后,
>>> sys.getrefcount(a) = 3
>>> sys.getrefcount(b) = 3
为什么a和b的引用计数为3?
对不起,伙计们我犯了一个错误.
真正的问题是不同的问题.
>>> GNU = ['is not Unix']
>>> GNU.insert(0,GNU)
>>> sys.getrefcount(GNU) = 4
为什么’GNU’的引用计数是4?
提前致谢 :)
最佳答案
每个都有3个引用:
>在第一个元素的另一个列表中.
>作为sys.getrefcount()的参数.
>当前范围,即绑定到a和b.