【问题标题】:Python objects returned more than once by gc.get_referents()gc.get_referents() 多次返回 Python 对象
【发布时间】:2013-04-13 11:28:17
【问题描述】:

我正在使用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_referents() 返回的列表中多次引用了一个对象。通过以下方式使用set

print(set(gc.get_referents(a,b)))

我得到类似ab 的引用列表的联合:

set([1, 2, 3, 4, 5])

我想知道这是否是获取对象列表引用的正确数量对象的正确方法。

【问题讨论】:

    标签: python memory-management memory-leaks garbage-collection


    【解决方案1】:

    如果你想获取所有被引用的对象而不重复,是的,

    set(gc.get_referents(a, b))
    

    会给你那些。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-18
      • 1970-01-01
      • 1970-01-01
      • 2013-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多