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

如何在Python二维元组中按相邻索引合并元组?

问题分析与解决

你原代码里的zip(coords[0::2], coords[1::2])会把coords[0::2](即((1,2), (5,6)))和coords[1::2](即((3,4), (7,8)))的对应元素两两配对,所以得到的是包含两个元组的元组,每个元组里又是一对原坐标元组,这就是你看到(((1, 2), (3, 4)), ((5, 6), (7, 8)))的原因。

要得到期望的把相邻两个坐标元组合并成一个的效果,你需要把每一对配对后的元组拼接起来,而不是直接转成tuple。

解法1:遍历拼接

直接按步长2遍历原元组,把每一组相邻的两个元组相加(元组相加等价于拼接):

coords = ((1, 2), (3, 4), (5, 6), (7, 8))
coords = tuple(coords[i] + coords[i+1] for i in range(0, len(coords), 2))
print(coords)

解法2:基于原zip逻辑修改

如果你想保留zip的用法,只需要对zip返回的每一对元组做拼接操作:

coords = ((1, 2), (3, 4), (5, 6), (7, 8))
coords = tuple(a + b for a, b in zip(coords[0::2], coords[1::2]))
print(coords)

两种方法的输出都是:((1, 2, 3, 4), (5, 6, 7, 8)),符合你的期望。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 09:15:33