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

如何仅用纯Python比较嵌套列表各对应位置元素并求最小值

实现方案

核心逻辑是先提取所有子列表同一索引位置的元素组,逐组计算最小值后,按要求包装为单元素子列表,填充到目标结构里即可。

示例输入定义

# 原始数据源
source_nested_list = [[10, 2, 4.8, 90], [7, 1, 41, 5], [3, 11, 20, 2]]
# 预定义的空目标列表
target_list = [[], [], [], []]

方法1:直接生成符合要求的结果

用Python内置的zip搭配解包操作,就能快速按列(同索引)聚合元素,写法最简洁:

result = [[min(column_values)] for column_values in zip(*source_nested_list)]

代码逻辑说明:

  • *source_nested_list会把数据源里的3个子列表拆分为独立参数传入zip
  • zip会依次遍历所有子列表,按索引位置把元素拼成元组,对应示例会得到4组值:(10,7,3)、(2,1,11)、(4.8,41,20)、(90,5,2)
  • 对每组值求最小值后,包装为单元素列表,最终输出和预期完全一致:[[3], [1], [4.8], [2]]

方法2:向已有的空目标列表填充值

如果你不需要新建列表,而是要把值写入提前定义好的空嵌套列表,可以用循环按索引填充:

for index, column_values in enumerate(zip(*source_nested_list)):
    target_list[index].append(min(column_values))

执行完成后,target_list的值就是你需要的结果。

注意:上述写法默认所有子列表长度一致,和当前场景匹配。如果存在子列表长度不一致的情况,zip会自动按最短的子列表长度截断计算;如果需要按最长子列表计算、缺失位置补默认值,可以替换为itertools.zip_longest实现。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 09:33:19