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

如何从三维嵌套列表提取指定列数据生成新列表?

解决方案:从三维嵌套列表提取指定元素生成新列表

这事儿在Python里实现起来很直接,咱们先看代码,再拆解逻辑:

首先定义你的原始三维列表:

original_list = [[['21832', '1524', '30', '133'], ['16142', '1233', '17', '113']],
                 [['23296', '1570', '34', '138'], ['17243', '1277', '18', '118']],
                 [['23296', '1570', '34', '138'], ['17243', '1278', '18', '118']],
                 [['25919', '1658', '35', '141'], ['19081', '1344', '21', '124']]]

方法一:直观的列表推导式

这是最容易理解的方式,直接按层级提取元素:

# 提取每个外层元素中第一个子列表的第0位,转成整数
target_list1 = [int(outer_item[0][0]) for outer_item in original_list]
# 提取每个外层元素中第一个子列表的第1位,转成整数
target_list2 = [int(outer_item[0][1]) for outer_item in original_list]
# 提取每个外层元素中第一个子列表的第2位,转成整数
target_list3 = [int(outer_item[0][2]) for outer_item in original_list]

# 验证结果
print(target_list1)  # 输出: [21832, 23296, 23296, 25919]
print(target_list2)  # 输出: [1524, 1570, 1570, 1658]
print(target_list3)  # 输出: [30, 34, 34, 35]

逻辑拆解

你的原始列表结构是:

外层列表 → 每个元素是包含两个子列表的列表 → 第一个子列表里有4个字符串元素

我们遍历外层列表的每一项outer_item:

  • outer_item[0]:拿到当前外层元素里的第一个子列表(比如第一个外层元素的['21832', '1524', '30', '133'])
  • 再通过[0]/[1]/[2]提取子列表里对应位置的元素,用int()把字符串转成整数(如果不需要转成数字,直接去掉int()即可)

方法二:更简洁的zip批量处理

如果想一次性生成三个列表,可以用zip()配合列表推导式,代码更紧凑:

# 先把每个外层元素需要的三个元素打包成元组,再用zip拆分
raw_tuples = [(int(outer_item[0][0]), int(outer_item[0][1]), int(outer_item[0][2])) for outer_item in original_list]
target_list1, target_list2, target_list3 = map(list, zip(*raw_tuples))

这里zip(*raw_tuples)会把所有元组的第0位、第1位、第2位分别聚合,最后用map(list, ...)把元组转成列表(如果接受元组结果,可以省略这一步)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:36:02