列表的Python内存管理()

栏目: Python · 发布时间: 5年前

内容简介:翻译自:https://stackoverflow.com/questions/5731878/python-memory-management-for-list

我正在创建一个元组,然后将其转换为包含以下代码的列表:

y=("hello","the","world")
y=list(y)

python是否只是将对象标记为现在可变并可通过标签y访问,或者它是否创建了每个对象的完整副本,将它们添加到新的列表结构中,然后删除原始的不可变对象?

干杯

在执行该行期间

y = list(y)

发生以下情况:

>评估右侧.这包括创建新的列表对象.列表对象用传递给构造函数的元组对象的项填充.这些项目不会被复制.而是增加了它们的引用计数,并且对这些项的引用被添加到新的列表对象中.

>新创建的列表对象分配给左侧的名称(y).这包括首先取消分配名称,这导致减少之前指向的元组对象的引用计数器.由于没有对此元组对象的更多引用,因此将其删除.最后,y设置为指向新的列表对象.

翻译自:https://stackoverflow.com/questions/5731878/python-memory-management-for-list


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法技术手册(影印版第2版)(英文版)

算法技术手册(影印版第2版)(英文版)

(美)乔治·T·海涅曼//加里·波利斯//斯坦利·塞克欧 / 东南大学 / 2017-10-01 / 96.0

一起来看看 《算法技术手册(影印版第2版)(英文版)》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

URL 编码/解码
URL 编码/解码

URL 编码/解码