如何在Python中每隔n个字符插入指定字符?
解决方法
Python 中的字符串属于不可变序列,确实没有 insert() 方法,无法直接修改原字符串。要实现插入字符的需求,我们可以通过逐步拼接新字符串的方式完成,不使用函数的改写代码如下:
original_string = input("What's your sentence?") add_character = input("What char do you want to add?") step = int(input("What's the step?")) result = "" for index, char in enumerate(original_string): # 将当前字符追加到结果字符串 result += char # 每间隔step个字符插入指定字符,跳过最后一个字符后的插入 if (index + 1) % step == 0 and index != len(original_string) - 1: result += add_character print("The string after inserting characters: " + result)
关键说明:
- 初始化空字符串
result用于存储最终拼接结果,因为原字符串无法直接修改 - 使用
enumerate()遍历原字符串,同时获取字符的索引和内容(索引从0开始) - 每次先把当前字符加入结果,再判断是否需要插入指定字符:当当前字符的位置(索引+1)是
step的倍数,且不是原字符串的最后一个字符时,插入目标字符 - 原代码里的
slice变量建议改为step,避免和Python内置的slice类型重名;同时修正了输入提示里的拼写错误yout→your
示例效果:若输入原字符串为 "abcdefgh",插入字符 "x",step 设为2,最终输出为 "abxcxdxefxgh"
内容的提问来源于stack exchange,提问作者Анастасія Купчак
相关产品推荐
相关产品推荐

