You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python/Java中每隔3个位置逐字符插入字符串?

字符串插入问题解决方案

需求

把字符串string_2的字符逐个插入到string_1的每隔第3个位置,示例:

  • string_1: wwwaabkccgkll
  • string_2: toadhp
  • 预期输出: wwtaaobkaccdgkhllp

你的代码问题

你写的代码有几个明显问题:

  • 大小写混乱:Python是大小写敏感的,Test_str和test_str、Last和last、For/Len和for/len这些不一致的变量名/关键字会直接报错。
  • 插入逻辑错误:你只取了challenge[k]单个字符反复插入,而且k的自增逻辑不对;另外每次插入后原字符串长度会增加,用i%3==0计算插入位置会导致偏移,结果完全不符合预期。
  • 初始化错误:new_st=challenge[k]在k未定义时就调用,会触发NameError。

正确Python实现

string_1 = "wwwaabkccgkll"
string_2 = "toadhp"
result = list(string_1)
char_pos = 0
insert_pos = 3  # 第一个插入位置是第4个字符前(索引3)

while char_pos < len(string_2) and insert_pos <= len(result):
    result.insert(insert_pos, string_2[char_pos])
    char_pos += 1
    insert_pos += 4  # 插入后下一个位置后移4位(原3位+新增的1位)

# 处理string_2剩余未插入的字符
if char_pos < len(string_2):
    result.extend(string_2[char_pos:])

print(''.join(result))

运行后会输出预期的wwtaaobkaccdgkhllp。如果替换成你的测试用例Test_str="hiimdumbiknow"和challenge="toadh",也能得到正确的插入结果。

内容的提问来源于stack exchange,提问作者Naren M.S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 05:10:50