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

Python中实现支持numpy数组的嵌套结构全局最大/最小值计算

全局最值计算函数实现(支持混合嵌套列表与numpy数组)

核心逻辑

通过递归遍历所有输入元素,对不同类型的元素做针对性处理:

  • 遇到int/float/numpy数值等标量类型,直接纳入最值统计
  • 遇到list/tuple等Python原生序列类型,递归遍历内部元素
  • 遇到numpy数组,先展平为一维再遍历内部元素

完整实现代码

import numpy as np

def _flatten_all(inputs):
    # 递归展开所有类型的输入为一维数值序列
    if isinstance(inputs, (int, float, np.number)):
        yield inputs
    elif isinstance(inputs, np.ndarray):
        # numpy数组直接展平后遍历
        for item in inputs.flat:
            yield item
    elif isinstance(inputs, (list, tuple)):
        # 原生嵌套结构递归展开
        for item in inputs:
            yield from _flatten_all(item)

def total_max(*args):
    # 计算所有输入的全局最大值,返回单个标量
    return max(_flatten_all(args))

def total_min(*args):
    # 计算所有输入的全局最小值,返回单个标量
    return min(_flatten_all(args))

效果验证

>>> total_max(3.5,[4.5,1,[2,3], np.random.uniform(size=(5,6)),4],[2,-3])
4.5

适配特性

  • 支持任意数量的输入参数,无需提前合并参数
  • 兼容任意深度的Python原生嵌套列表/元组
  • 兼容任意维度的numpy数组,无需提前对数组做单独处理
  • 最终输出为单个标量数值,完全符合要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 10:57:01