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

技术问询:按输入字符串长度索引构建动态列表并合并为字符串

实现按字符串长度插入的动态列表并合并结果

原代码存在的问题

  1. 嵌套while循环导致逻辑混乱,第一次输入后直接进入内层循环,外层循环完全失去作用
  2. 初始容器split_string_list被错误定义为第一个输入字符串的字符列表,而非用于存储完整字符串的空列表
  3. 插入操作时将字符串转为字符列表插入,导致最终列表嵌套列表,无法直接合并成目标字符串
  4. 循环条件repeat_counter < user_input_count会少处理一次输入(比如输入n=3时仅处理2次)

修正后的实现代码

# 获取需要输入的字符串数量
input_count = int(input("Enter number of elements: "))

# 初始化空列表,用于存储所有输入的字符串
string_container = []

for idx in range(input_count):
    current_string = input(f"Enter the value of input #{idx+1}: ")
    # 计算当前字符串的长度,作为插入索引
    insert_pos = len(current_string)
    # 将字符串插入到对应索引位置
    string_container.insert(insert_pos, current_string)

# 合并列表中所有字符串,得到最终结果
final_merged_string = ''.join(string_container)
print("最终合并字符串:", final_merged_string)

代码说明

  • 使用for循环遍历输入次数,比while循环更简洁且不易出错
  • 每次输入字符串后,直接以其长度作为插入索引,调用insert()方法将字符串存入容器列表
  • 最后通过''.join(string_container)将列表中所有字符串拼接成一个完整的最终字符串
  • 当插入索引超过当前列表长度时,insert()会自动将元素添加到列表末尾,符合需求逻辑

测试示例

假设输入数量为3:

  1. 输入第一个字符串:"a"(长度1),列表变为["a"]
  2. 输入第二个字符串:"bb"(长度2),插入索引2,列表变为["a", "bb"]
  3. 输入第三个字符串:"ccc"(长度3),插入索引3,列表变为["a", "bb", "ccc"]
    最终合并结果:"abbccc"

内容的提问来源于stack exchange,提问作者ebordenave

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 21:05:22