我正在尝试迭代字符串并检查连续字符是否相同。如果不是我想插入它们之间的空间。然后将这个新字符串存储在Mynewstring中,直到while循环遍历所有字符。
我发布了一个While循环,尝试了这个也使用For循环,得到相同的结果。任何帮助将不胜感激!
mystr = '77445533'
mynewstring = ""
myind = 0
while myind < len(mystr)+1:
if mystr[myind] != mystr[myind +1]:
mynewstring = mystr[:(myind)] + " " + mystr[(myind+1):]
myind+=1
打印(mynewstring)
答案 0 :(得分:1)
您可以使用迭代器代替索引。我使用zip
函数从头开始和第一个字符迭代字符。如果字符不同,则插入空格。
唯一的特殊情况是添加最后一个字符,因为第一个迭代器完成后不会与任何字符匹配。
mystr = '77445533'
mynewstring = ''
for pair in zip(mystr, mystr[1:]):
mynewstring += pair[0]
if pair[0] != pair[1]:
mynewstring += ' '
mynewstring += mystr[-1]