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

如何遍历列表生成连续相邻元素对且包含列表末尾元素?

解决方案

你需要生成连续相邻的元素对,之前的代码是将列表按两两无重叠的方式分组,所以不符合需求。以下是两种可行的实现方式:

方法1:通过索引遍历

直接遍历列表的索引,依次取当前元素和下一个元素组成配对:

lst = [0, 0.3, .6, .9, 1.2, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5]
for i in range(len(lst) - 1):
    print(f"{lst[i]} / {lst[i+1]}")

方法2:利用zip和列表切片

将原列表与它的切片(从第二个元素开始)配对,zip会自动将对应位置的元素组合成相邻对:

lst = [0, 0.3, .6, .9, 1.2, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5]
for i, j in zip(lst, lst[1:]):
    print(f"{i} / {j}")

为什么之前的代码无效?

a = iter(list)创建了一个迭代器,zip(a, a)会每次从迭代器中取出两个元素,也就是把列表分成了(0, 0.3)、(.6, .9)、(1.2, 1.5)这类无重叠的分组,而且因为列表长度是奇数(13个元素),最后一个元素5会被剩余,无法被配对输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 06:30:56