【问题标题】:WeakValueDictionary for holding any typeWeakValueDictionary 用于保存任何类型
【发布时间】:2010-10-17 10:32:25
【问题描述】:

有什么方法可以解决 WeakValueDictionary 的限制,使其能够保存对 dict 或 list 等内置类型的弱引用?可以在扩展模块中的 C 级别做某事吗?我真的需要一个可以容纳(几乎)任何类型的对象的弱引用容器。

【问题讨论】:

    标签: python


    【解决方案1】:

    根据Python documentation,您可以创建对dictlist 子类的弱引用...这不是一个完美的解决方案,但如果您能够创建dict 的自定义子类并使用而不是原生的dict,它应该足够好。 (我自己从来没有真正这样做过)

    【讨论】:

    • 问题是要存储在这个容器中的对象将来自其他人的代码,而容器是一个更大的类集的“实现细节”,所以我宁愿避免一个“必须是可弱引用的”类型的要求。
    • 啊...好吧,我不知道有什么方法可以创建一个完全通用的 WeakValueDictionary 可以容纳任何东西。不过,您可以在特殊情况下使用各种技巧 - 如果您编辑问题以指定需要弱引用的对象类型,这可能会有所帮助。
    猜你喜欢
    • 1970-01-01
    • 2016-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-20
    • 2017-08-16
    相关资源
    最近更新 更多