为什么使用列表保存字符,而不是直接使用字符串?
10
2026-08-10
Python 中的字符串str是不可变对象。一个字符串创建以后,它本身的内容不能直接修改。
例如,不断执行:
res = ""
res += "a"
res += "b"
res += "c"每次执行 += 时,实际上都可能需要创建一个新的字符串,再把旧字符串和新字符复制过去。
当字符串很长、拼接次数很多时,这种方式会产生较多额外开销。
而列表list是可变对象,可以通过append()不断向末尾添加元素:
res = []
res.append("a")
res.append("b")
res.append("c")最后再一次性使用:
"".join(res)把列表中的所有字符拼接成一个完整的字符串。
例如:
res = ["a", "b", "c"]
"".join(res)结果为:
"abc"因此,在需要进行大量字符串拼接时,通常使用:
列表 append() + 最后 join()这种方式一般比反复使用字符串 += 更合适。