【发布时间】:2021-12-03 06:09:55
【问题描述】:
我想要一个获取多个嵌套数组列表并仅返回一个数字的函数:输入中出现的所有数字的全局最大值(或最小值)。
例如:
>>> total_max(3.5,[4.5,1,[2,3], np.random.uniform(size=(5,6)),4],[2,-3])
4.5
我不想在Finding The Largest Number in a Nested List in Python 或python max of list of arrays 中输出多个数字。而且我希望它也适用于 numpy 数组,Total max of a nested list 并非如此。
【问题讨论】:
-
一个简单的
max(deepflatten(seq))就可以解决问题,其中任何deepflatten都是任何深度展平生成器。在this answer 中可以找到几个不同的扁平化函数的比较。 -
您的示例不适合 numpy 处理,因为维度大小是可变的(您甚至可以在同一维度上混合使用标量和向量)。
-
@AlainT。在实践中,我不使用随机 numpy 数组,而是使用由其他 numpy 代码计算的 numpy 数组。在我的应用程序中,列表和 numpy 数组的数量不是很大,但是每个 numpy 数组都可以很大。 @Brian:当您只有两个非常大的 numpy 数组时,您是否认为
deepflatten也比 numpy 快?首先将所有内容展平到列表中可能会降低性能并且可能需要更多内存?
标签: python arrays list max min