python分配问题_Python列表内存重新分配问题

如果我使用的是C-Python或jython(在python 2.7中),并且对于列表([])数据结构,如果我继续添加新元素,是否会出现像Java ArrayList那样的内存重新分配问题(因为Java ArrayList需要连续内存空间,如果当前的预分配空间已满,则需要重新分配新的更大的连续大内存空间,并将现有元素移动到新分配的空间)?

问候,

解决方法:

至少对于主Python而言,基本故事是列表包含指向内存中其他位置的对象的指针.该列表是用一定的可用空间创建的(例如,用于8个指针).填满后,它将分配更多的内存,依此类推.它是否将指针从一个内存块移动到另一个内存块,是大多数用户忽略的细节.实际上,我们只是根据需要追加/扩展列表,而不必担心内存的使用.

我假设jython使用相同的方法,但是您必须深入研究其代码才能看到它如何转换为Java.

我主要回答麻木的问题.这是一个数字包,可创建固定大小的多维数组.如果用户需要逐步构建这样的数组,我们通常建议他们从列表开始并附加值.最后,他们创建数组.追加到列表要比多次重建数组便宜得多.

标签:list,python-2-7,python

来源: https://codeday.me/bug/20191118/2024622.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值