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

如何定义For循环实现字符串的连续双字符迭代遍历?

问题

已知代码:

list1 = ['ABCDE']
for x in list1:
     print(x)

执行后输出ABCDE(注:原描述中“逐个输出A、B、C、D、E”为表述误差,原代码实际会直接输出整个字符串)。

需要修改循环中的???部分,让代码执行后输出:

AB
BC
CD
DE
实现方案

方案1:直接遍历索引生成子串

修改后的代码:

list1 = ['ABCDE']
for i in range(len(list1[0]) - 1):
     print(list1[0][i:i+2])

方案2:先生成子串列表再遍历

如果更贴合原代码“遍历目标元素”的结构,可以先预生成所有连续双字符子串的列表,再循环打印:

list1 = ['ABCDE']
target_str = list1[0]
for pair in [target_str[i:i+2] for i in range(len(target_str)-1)]:
     print(pair)
原理说明

原列表list1仅包含一个字符串元素'ABCDE',要生成连续双字符子串,核心逻辑是:

  • 先取出列表中的字符串target_str = list1[0]
  • 遍历字符串的索引,范围是0到len(target_str)-2(保证i+2不超出字符串长度)
  • 每次通过切片target_str[i:i+2]截取从索引i开始的2个字符,得到AB、BC这类连续组合

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 07:05:31