我想从一个字符串中读取一些字符s1并将其放入另一个字符串s2中。
s1
s2
但是,分配给s2[j]会出错:
s2[j]
s2[j] = s1[i] # TypeError: 'str' object does not support item assignment
在 C 中,这有效:
int i = j = 0; while (s1[i] != '\0') s2[j++] = s1[i++];
我在 Python 中的尝试:
s1 = "Hello World" s2 = "" j = 0 for i in range(len(s1)): s2[j] = s1[i] j = j + 1
在 Python 中,字符串是不可变的,因此您不能就地更改它们的字符。
但是,您可以执行以下操作:
for c in s1: s2 += c
之所以有效,是因为它是以下方面的捷径:
for c in s1: s2 = s2 + c
上面每次迭代 都会创建一个新字符串 ,并将对该新字符串的引用存储在s2.