Python 字符串可以';不能通过'扩展;加上';
我有一个简单的问题。请看下面的脚本:Python 字符串可以';不能通过'扩展;加上';,python,string,python-3.x,Python,String,Python 3.x,我有一个简单的问题。请看下面的脚本: def myFunc(string): res='' for i in string: if not i in res: res+i return res res=myFunc('aaaa') print(res) # return a string 'a' 此脚本应该能够删除输入字符串中的重复字符 但事实上,我什么也没有得到。“res”为空 你有什么想法吗 谢谢
def myFunc(string):
res=''
for i in string:
if not i in res:
res+i
return res
res=myFunc('aaaa')
print(res) # return a string 'a'
此脚本应该能够删除输入字符串中的重复字符
但事实上,我什么也没有得到。“res”为空
你有什么想法吗
谢谢
res+i
未将其结果设置为变量。您需要将其添加回字符串
res = res + i
问题是你没有安排任务。在我做的地方检查我的代码
res=res+I
def myFunc(string):
res=''
for i in string:
if not i in res:
res = res+i
return res
res=myFunc('aaaa')
print(res) # return a string 'a'
这是因为我不能在原来的位置更改字符串吗?所以我必须给它起个新名字?它不像list.append(),对吗?@Harry-字符串是不可变的,但更多的是关于
+
操作符的工作原理。在大多数情况下,它并不打算修改左手操作器的手柄!这是因为我不能在原来的位置更改字符串吗?所以我必须给它起个新名字?它不像list.append(),对吗?append()函数的目的是将项目添加到列表的末尾+
只是表示串联,因此您必须在其中定义要存储此串联的位置。您应该指定res值。res=res+i,否则您将添加值,但不会将其存储回去。