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

如何根据每个tuple的最小值所在索引拆分tuple组成的列表

三元组列表按最小值索引拆分需求

输入说明

现有由三元组构成的列表x如下:

x = [(1,2,3), (2,3,1), (0,10,100), (4,0,5), (2,1,3), (3.3,9,1.2), (4.5,2,0), (2,4,10), (100, 10, 30)]

拆分规则

需将列表x拆分为3个独立列表,拆分规则如下:

  • 第一个列表x1:存放**最小值位于第一个索引位(索引0)**的元组
  • 第二个列表x2:存放**最小值位于第二个索引位(索引1)**的元组
  • 第三个列表x3:存放**最小值位于第三个索引位(索引2)**的元组
    核心逻辑为遍历每个元组,判断其最小值对应的索引位置,再将该元组归入对应子列表。

期望输出

x1 = [(1,2,3), (0,10,100), (2,4,10)]
x2 = [(4,0,5), (2,1,3), (100, 10, 30)]
x3 = [(2,3,1), (3.3,9,1.2), (4.5,2,0)]
Python实现代码
# 初始化原列表与三个结果列表
x = [(1,2,3), (2,3,1), (0,10,100), (4,0,5), (2,1,3), (3.3,9,1.2), (4.5,2,0), (2,4,10), (100, 10, 30)]
x1, x2, x3 = [], [], []

for tpl in x:
    # 计算当前元组最小值对应的首个出现索引
    min_index = tpl.index(min(tpl))
    if min_index == 0:
        x1.append(tpl)
    elif min_index == 1:
        x2.append(tpl)
    else:
        x3.append(tpl)

如果元组中存在多个相同最小值,上述代码会将其归入最小值首次出现的索引对应的列表,符合常规使用逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 20:09:01