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

Python如何基于初始列表的连续相邻元素生成两两配对元组列表

实现方法

方法1:使用zip(最简洁)

直接将原列表和偏移一位的切片传入zip即可,zip会自动按位置配对元素,最终转为列表就能得到目标结果:

test = ['a', 'b', 'c','d']
res = list(zip(test, test[1:]))
# 输出:[('a', 'b'), ('b', 'c'), ('c', 'd')]

方法2:迭代器+next实现

如果你想用迭代器搭配next的方案,正确写法如下:

test = ['a', 'b', 'c','d']
it = iter(test)
res = []
prev = next(it)
for current in it:
    res.append((prev, current))
    prev = current

方法3:内存优化版本(适用于超长列表/迭代器场景)

如果原列表长度极大,或者原输入本身是迭代器、无法做切片操作,可以用itertools.tee生成两个独立迭代器实现,避免额外切片内存占用:

from itertools import tee
test = ['a', 'b', 'c','d']
it1, it2 = tee(test)
next(it2, None)
res = list(zip(it1, it2))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 18:39:03