gpt4 book ai didi

python - "cutting"为字符串变量并将新部分分配给相同变量名时的内存使用

转载 作者:太空宇宙 更新时间:2023-11-03 15:20:13 27 4
gpt4 key购买 nike

这里是基本的 python 问题:假设我有一个字符串变量

x='sdfghjk' 

我只需要使用字符串的一些字符,并将它们分配给相同的名称,例如

x=x[x.index('g'):]

新的 x 是否在内存方面“代替”了旧的,或者我是否无缘无故地创建了副本并使用了额外的内存?

最佳答案

Does the new x come "instead" of the old one in terms of memory, or am I creating duplicates, and using extra memory for no reason.

Python 字符串是不可变的,因此您要创建一个副本,这将需要更多内存。如果你改为做...

>>> x = 'sdfghjk'
>>> x = buffer(x, x.index('g'))
>>> print x
ghjk

...你会得到类似的结果,但 x 变量现在指的是分配原始字符串的同一 block 内存,如果你正在处理,这可能更可取一个巨大的字符串。

或者如果你想要一个可变字符串,试试 bytearray .

关于python - "cutting"为字符串变量并将新部分分配给相同变量名时的内存使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16173119/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com