Python中如何交换字符串中两个字符位置?解决索引越界错误
解决Python中交换空格与后一位字符的索引越界问题
错误原因:循环使用
range(len(text))会遍历到列表最后一个索引,此时x+1超出了列表的合法索引范围(列表索引最大值为len(text)-1),因此触发IndexError: list index out of range。修复后的基础代码:
text = "Hell oWorld" text = list(text) # 遍历到倒数第二个索引,避免x+1越界 for x in range(len(text)-1): if text[x] == " ": text[x], text[x + 1] = text[x + 1], text[x] text = "".join(text) print(text) # 输出: Hello World
- 更简洁的实现方式(正则表达式):
import re text = "Hell oWorld" # 匹配"空格+任意单个字符",替换为"字符+空格" text = re.sub(r' (.)', r'\1 ', text) print(text) # 输出: Hello World
内容的提问来源于stack exchange,提问作者matejmajny
相关产品推荐
相关产品推荐

