• 技术文章 >Python技术 >Python基础教程

    python标记删除如何实现?

    小妮浅浅小妮浅浅2021-07-27 09:34:31原创2249

    说明

    1、主要解决循环引用的数据。因为引用大于0,不会回收。

    2、标记删除是为了解决这个循环引用不能删除的问题。

    3、对于删除操作后的每一个引用-1,此时num,num1的引用为0,将其放入死亡容器中,如果引用大于0,则放入存活容器中。

    遍历存活容器,检查是否有一些存活容器引用了死亡容器的对象,如果有,将其从死亡容器中取出,放入存活容器中。

    死亡容器中的所有物体都被删除了。

    实例

    num = ["hello", "world"]
    num1 = ["hi", "are", "you"]
    print(sys.getrefcount(num))
    print(sys.getrefcount(num1))
    num.append(num1)
    num1.append(num)
    print(sys.getrefcount(num))
    print(sys.getrefcount(num1))
    del num
    del num1

    以上就是python标记删除的实现,希望对大家有所帮助。更多Python学习指路:python基础教程

    本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

    专题推荐:python标记删除
    上一篇:Python如何实现字符串排序 下一篇:python遍历查看csv文件

    相关文章推荐

    • python中figure()函数画两张图• python中subplot函数怎么画图?• python局部作用域是什么• python异常时的语句处理• python中random模块求随机数• python列表如何传递到线程?• Python如何自定义类继承threading.Thread• Python map接收参数的探究• Python装饰器的应用场景• python变量如何在作用域使用• python自由变量是什么• Python中JSON数据如何读取• Python如何用下标取得列表的单个值• Python切片获取列表多个值

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网