“不要修改字符串。
将它们作为列表使用;仅在需要时将它们转换为字符串。
...代码示例...
Python 字符串是不可变的(即它们不能被修改)。这有很多原因。使用列表直到你别无选择,然后才将它们变成字符串。”
这被认为是最佳实践吗?
我觉得 Python 有返回新修改字符串的方法(例如 upper()、title()、replace() 等)但没有返回新字符串的插入方法有点奇怪。我错过了这样的方法吗?
编辑:我试图通过插入一个字符来重命名文件:
import os
for i in os.listdir('.'):
i.insert(3, '_')
由于不可变性,这不起作用。添加到字符串的开头可以正常工作:
for i in os.listdir('.'):
os.rename(i, 'some_random_string' + i)
编辑2:解决方案:
>>> for i in os.listdir('.'): │··
... os.rename(i, i[:4] + '_' + i[4:])
切片当然很好并且解决了我的问题,但是有一个合乎逻辑的解释为什么没有返回新字符串的 insert() 方法吗?
谢谢您的帮助。