迭代字符串并对其进行切片 - 索引错误 - Python

时间:2018-02-27 20:13:40

标签: 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 = mystr[:(myind)] + " " + mystr[(myind+1):]
  myind+=1

打印(mynewstring)

1 个答案:

答案 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]