python标记删除如何实现?

  • 更新时间:2021-07-13 09:38:18
  • 编辑:浦翰学
为找教程的网友们整理了相关的编程文章,网友池玲然根据主题投稿了本篇教程内容,涉及到Python相关内容,已被873网友关注,内容中涉及的知识点可以在下方直接下载获取。

参考资料

正文内容

今天在网上看到《python标记删除如何实现?》,觉得应该跟大家分享,把错误代码改掉了,看完如果觉得有用请记得收藏。

python标记删除如何实现?

1、说明

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

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

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

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

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

2、实例

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中requests模块导入的问题

    这篇文章主要介绍了关于浅谈python中requests模块导入的问题,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

    发布时间:2019-07-11

  • Python基于回溯法子集树模板解决马踏棋盘问题示例

    这篇文章主要介绍了Python基于回溯法子集树模板解决马踏棋盘问题,简单描述了国际象棋马踏棋盘问题,并结合实例形式分析了Python使用回溯法子集树模板解决马踏棋盘问题的具体步骤与相关操作

    发布时间:2019-08-26

用户留言