gpt4 book ai didi

python - Python中的“就地”字符串修改

转载 作者:IT老高 更新时间:2023-10-28 20:49:27 29 4
gpt4 key购买 nike

在 Python 中,字符串是不可变的。

逐个字符遍历字符串并对其进行修改的标准习语是什么?

我能想到的唯一方法是一些与加​​入结果字符串相关的真正臭名昭著的黑客攻击。

--

在 C 中:

for(int i = 0; i < strlen(s); i++)
{
s[i] = F(s[i]);
}

这是 super 表达力,并准确地说明了我在做什么。这就是我要找的。

最佳答案

不要使用字符串,使用可变的东西,比如 bytearray:

#!/usr/bin/python

s = bytearray("my dog has fleas")
for n in xrange(len(s)):
s[n] = chr(s[n]).upper()
print s

结果:

MY DOG HAS FLEAS

编辑:

由于这是一个 bytearray,您不必(必然)使用 characters。您正在使用 bytes。所以这也有效:

s = bytearray("\x81\x82\x83")
for n in xrange(len(s)):
s[n] = s[n] + 1
print repr(s)

给予:

bytearray(b'\x82\x83\x84')

如果您想修改 Unicode 字符串中的字符,您可能需要使用 memoryview ,尽管它不直接支持 Unicode。

关于python - Python中的“就地”字符串修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3463746/

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