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

如何用3层for循环提取嵌套列表中元组对应元素生成新列表

使用三层for循环处理嵌套列表的需求

需求说明

给定嵌套列表:

[[(1,2),(1,4)],[(7,5),(5,4)]]

需要生成两个新列表:

  • 第一个列表:每个子列表中所有元组的第一个元素组成的元组集合,即 [(1,1),(7,5)]
  • 第二个列表:每个子列表中所有元组的第二个元素组成的元组集合,即 [(2,4),(5,4)]

要求用三层for循环实现该需求。

实现代码

# 原始嵌套列表
original_list = [[(1,2),(1,4)],[(7,5),(5,4)]]

# 初始化两个结果列表
first_elements = []
second_elements = []

# 第一层循环:遍历原始列表中的每个子列表
for sublist in original_list:
    temp_first = []
    temp_second = []
    # 第二层循环:遍历子列表中的每个元组
    for tpl in sublist:
        # 第三层循环:遍历元组的元素并区分索引
        for idx, elem in enumerate(tpl):
            if idx == 0:
                temp_first.append(elem)
            else:
                temp_second.append(elem)
    # 将临时列表转为元组后加入结果列表
    first_elements.append(tuple(temp_first))
    second_elements.append(tuple(temp_second))

# 输出预期格式的结果
print(first_elements, second_elements, sep=',')

代码逻辑说明

  1. 第一层循环:逐个取出原始列表中的子列表,依次处理每个子列表的元素提取工作。
  2. 第二层循环:遍历当前子列表里的每一个元组,为后续提取元素做准备。
  3. 第三层循环:通过enumerate获取元组元素的索引,根据索引判断是元组的第一个还是第二个元素,分别存入对应的临时列表。
  4. 每个子列表处理完成后,将临时列表转为元组,添加到最终的结果列表中,保证输出格式符合要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 20:05:24