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

如何将列表拆分为包含重叠元素的tuple列表?

解决方案

可以用Python内置的zip()函数快速实现这个需求,只需要将原列表和原列表的切片(从第二个元素开始)配对即可:

temp = [-39.5, -27.5, -15.5, -3.5, 8.5, 20.5, 32.5, 44.5, 56.5, 68.5, 80.5, 92.5, 104.5]
temps = list(zip(temp, temp[1:]))
print(temps)

运行后输出结果完全符合预期:

[(-39.5, -27.5), (-27.5, -15.5), (-15.5, -3.5), (-3.5, 8.5), (8.5, 20.5), (20.5, 32.5), (32.5, 44.5), (44.5, 56.5), (56.5, 68.5), (68.5, 80.5), (80.5, 92.5), (92.5, 104.5)]

原理说明

  • temp[1:]生成原列表从索引1开始的子列表:[-27.5, -15.5, ..., 104.5]
  • zip(temp, temp[1:])会把两个列表对应位置的元素配对,生成包含元组的迭代器
  • 用list()将迭代器转换为列表,即可得到目标结果

如果偏好手动遍历的方式,也可以用列表推导式实现:

temps = [(temp[i], temp[i+1]) for i in range(len(temp)-1)]

这个方法通过遍历原列表的索引(从0到倒数第二个元素的索引),逐个取出相邻元素组成元组,最终生成目标列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 01:44:59