使用列表表示字符串的好处是什么?



使用列表来表示字符串的好处是什么,除了它是可变的。如果在类中使用它是否具有更好的时间复杂度?

字符串在Python中是不可变的,因此通常的做法是将字符串转换为单字符字符串列表,以便在将字符连接回字符串之前执行多个基于索引的修改。如果没有这样的转换,就必须将字符串切片并将片段连接成一个新字符串,每次修改的时间复杂度为O(n),而不是O(1),这是基于列表的修改所能做到的。

我不会说它有更好的时间复杂度,它的大0性能应该是一样的。但是当你索引一个字符串时,Python每次都需要生成一个新的单字符字符串。对于列表,它只会给你一个已经存在的单个字符串的引用。