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

如何将整数列表转换为连续相邻元素的成对元组?

解决方案

方法1:手动遍历索引的for循环写法

这是最直观的实现方式,直接控制索引范围避免越界:

def get_consecutive_pairs(numbers):
    pairs = []
    # 只遍历到倒数第二个元素的索引,确保i+1不会超出列表范围
    for i in range(len(numbers) - 1):
        pairs.append((numbers[i], numbers[i+1]))
    return pairs

numbers = [1, 5, 7, 19, 22, 55]
print(get_consecutive_pairs(numbers))

运行后输出:

[(1, 5), (5, 7), (7, 19), (19, 22), (22, 55)]

方法2:用zip函数实现简洁写法

利用Python内置的zip函数——它能把两个可迭代对象的对应元素配对。我们只需要把原列表和原列表从第二个元素开始的切片传入zip,再转成列表即可:

numbers = [1, 5, 7, 19, 22, 55]
pairs = list(zip(numbers, numbers[1:]))
print(pairs)

输出结果和上面完全一致。

你之前的for循环可能出错的原因

多半是索引范围没控制对:如果遍历到了列表最后一个元素的索引,再访问numbers[i+1]就会触发索引越界;或是没有在循环里把生成的元组正确添加到结果列表中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 18:40:38