我想从字符串中阅读一些字符s1
并将其放入另一个字符串中s2
。
但是,分配给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
。