我正在编写用于计算字符串中重复字符的代码。
def printdups(strng):
for i in range(0,len(strng)):
count=1
for j in range(i+1, len(strng)):
if(strng[i]==strng[j]) and strng[i]!=' ':
count+=1
strng[j]=[:j] +'0'+strng[j+1:]
if (count>1 and strng[i]!='0'):
print(strng[i]+" , count =", count)
if __name__ == "__main__":
strng = "hello hello"
print (printdups(strng))
但是我在以下[:j]
的此部分遇到错误
strng[j]=[:j]+'0'+strng[j+1:]
[当我尝试提供strng[j]=0
时,出现以下错误:
TypeError: 'str' object does not support item assignment
我想将strng[j]
的值分配为'0'
。有没有其他方法可以将strng[j]
分配为'0'
?
因为字符串在Python中是不可变的。参见related question和senderle的answer。