String 遍历字符串并对其进行切片-索引错误-Python

String 遍历字符串并对其进行切片-索引错误-Python,string,python-3.x,String,Python 3.x,我试图遍历一个字符串并检查连续字符是否相同。如果没有,我想在它们之间插入一个空格。然后将这个新字符串存储在Mynewstring中,直到while循环遍历所有字符 我发布了一个While循环,一个用For循环尝试了这个方法,得到了相同的结果。任何帮助都将不胜感激 mystr = '77445533' mynewstring = "" myind = 0 while myind < len(mystr)+1: if mystr[myind] != mystr[myind +1]:

我试图遍历一个字符串并检查连续字符是否相同。如果没有,我想在它们之间插入一个空格。然后将这个新字符串存储在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
mystr='77445533'
mynewstring=“”
myind=0
而myind

打印(mynewstring)

可以使用迭代器代替索引。我使用
zip
函数从开头和第一个字符开始遍历字符。如果字符不同,则插入空格

唯一的特例是添加最后一个字符,因为第一个迭代器将完成,所以它不会与任何内容匹配

mystr = '77445533'
mynewstring = ''

for pair in zip(mystr, mystr[1:]):
    mynewstring += pair[0]
    if pair[0] != pair[1]:
        mynewstring += ' '
mynewstring += mystr[-1]

这一个很好,但我认为只有当每个角色有两个实例时它才有效?例如,如果一开始还有一个7呢?你试过了吗?空格唯一要追加的一点是其比较的两个字符是否不同。否则,它只追加下一个字符。