Python字符串类型错误

时间:2016-11-27 04:52:48

标签: python types

word = input("Please enter two words");
word1 = word
number = len(word);
space = '/'  
for i in range(number):
    if(word1[i] == " "):
        word1[i] = space;
print(word1)

我收到以下错误:“TypeError:'str'对象不支持项目分配” 它不喜欢我取代word1 [i] = space; 我不明白为什么,因为它们都是字符串。

2 个答案:

答案 0 :(得分:1)

正如错误消息所示,您无法修改字符串。

一种可以让你保留大部分代码的方法是将字符串转换为字符列表:

word = list(word)

然后在你完成时将它加入一个刺痛中:

word = "".join(word)

另一种方法是建立一个新字符串,并有条件地选择与其连接的字符:

result = ""
for c in word:
    if c = " ":
        result += space    # should be named slash
    else:
        result += c

但更好的解决方案是用一行替换所有代码:

word = word.replace(" ", "/")

答案 1 :(得分:0)

字符串是python不可变的,这意味着它们的元素不能被更改或重新排列。

尝试创建一个新字符串并将字符放入其中。