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

Python多索引For循环:遍历列表相邻元素且避免尾项错误

解决列表相邻元素成对遍历的问题

你的原代码逻辑有误:i是列表中的元素而非索引,执行i+1要么会触发错误(比如元素是数字以外的类型),要么逻辑上无法获取下一个相邻元素,还会出现越界问题。下面提供两种可靠的解决方法:

方法一:基于索引遍历

通过遍历列表的索引,确保每次都能获取当前元素和下一个元素,同时控制遍历范围避免越界:

my_list = ["A", "B", "C", "D", "E", "F"]
# 遍历到倒数第二个元素的索引为止
for i in range(len(my_list) - 1):
    print(my_list[i] + my_list[i+1])

运行后会输出:

AB
BC
CD
DE
EF

range(len(my_list)-1)会生成从0到len(my_list)-2的索引,刚好覆盖所有相邻元素对,不会出现尾部越界的情况。

方法二:使用zip函数(更Pythonic的写法)

利用zip函数将原列表和其切片(从第二个元素开始)配对,自动处理遍历范围:

my_list = ["A", "B", "C", "D", "E", "F"]
# zip会将两个列表的对应元素配对,短列表结束时自动停止
for current, next_item in zip(my_list, my_list[1:]):
    print(current + next_item)

这种写法更简洁,my_list[1:]是原列表去掉第一个元素的子列表,zip会把两个列表的元素一一配对成(A,B)、(B,C)……(E,F),循环直接取出配对元素拼接即可。

注意事项

  • 不要用list作为变量名,这是Python的内置类型,会覆盖内置功能,建议改用my_list这类自定义名称。
  • 如果列表元素不是字符串类型,需要先转换为字符串再拼接,比如元素是数字时,用str(current) + str(next_item)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 00:37:08