gc.get_referents()多次返回Python对象
我正在使用gc.get_referents()多次返回Python对象,python,memory-management,memory-leaks,garbage-collection,Python,Memory Management,Memory Leaks,Garbage Collection,我正在使用gc模块(Ubuntu 12.10上的Python 2.7.3)来分析对象引用 从以下代码开始: a = [1,2,3] b = [1,2,3,4,5] print(gc.get_referents(a,b)) 获得结果: [3, 2, 1, 5, 4, 3, 2, 1] 从gc.get\u referents()返回的列表中,似乎多次引用了对象。按以下方式使用设置: print(set(gc.get_referents(a,b))) 我得到了类似于a和b的引用列表的并集: s
gc
模块(Ubuntu 12.10上的Python 2.7.3)来分析对象引用
从以下代码开始:
a = [1,2,3]
b = [1,2,3,4,5]
print(gc.get_referents(a,b))
获得结果:
[3, 2, 1, 5, 4, 3, 2, 1]
从gc.get\u referents()
返回的列表中,似乎多次引用了对象。按以下方式使用设置
:
print(set(gc.get_referents(a,b)))
我得到了类似于a
和b
的引用列表的并集:
set([1, 2, 3, 4, 5])
我想知道这是否是获取对象列表所引用对象的正确数量的正确方法。如果希望获取引用的所有对象都没有重复项,则是
set(gc.get_referents(a, b))
我会给你的