内容简介:翻译自: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
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
C++ Primer 中文版(第 5 版)
[美] Stanley B. Lippman、[美] Josée Lajoie、[美] Barbara E. Moo / 王刚、杨巨峰 / 电子工业出版社 / 2013-9-1 / CNY 128.00
这本久负盛名的 C++经典教程,时隔八年之久,终迎来史无前例的重大升级。除令全球无数程序员从中受益,甚至为之迷醉的——C++ 大师 Stanley B. Lippman 的丰富实践经验,C++标准委员会原负责人 Josée Lajoie 对C++标准的深入理解,以及C++ 先驱 Barbara E. Moo 在 C++教学方面的真知灼见外,更是基于全新的 C++11标准进行了全面而彻底的内容更新。......一起来看看 《C++ Primer 中文版(第 5 版)》 这本书的介绍吧!