Sunny个人小记 - 我的生活·语文·课堂·技术手记

Sunny个人小记

为什么使用列表保存字符,而不是直接使用字符串?

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()

这种方式一般比反复使用字符串 += 更合适。