列表的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


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

查看所有标签

猜你喜欢:

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

网络多人游戏架构与编程

网络多人游戏架构与编程

格雷泽 (Joshua Glazer)、马达夫 (Sanjay Madhav) / 王晓慧、张国鑫 / 人民邮电出版社 / 2017-10-1 / CNY 109.00

本书是一本深入探讨关于网络多人游戏编程的图书。 全书分为13章,从网络游戏的基本概念、互联网、伯克利套接字、对象序列化、对象复制、网络拓扑和游戏案例、延迟、抖动和可靠性、改进的延迟处理、可扩展性、安全性、真实世界的引擎、玩家服务、云托管专用服务器等方面深入介绍了网络多人游戏开发的知识,既全面又详尽地剖析了众多核心概念。 本书的多数示例基于C++编写,适合对C++有一定了解的读者阅读。本......一起来看看 《网络多人游戏架构与编程》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具