【问题标题】:Total max of a nested list [duplicate]嵌套列表的总最大值[重复]
【发布时间】:2020-09-22 08:44:37
【问题描述】:

嵌套列表的总/全局最大值

问题:
我正在尝试查找嵌套列表的总(或全局)最大值。目标是实现一个函数,该函数返回任意深度(嵌套元素的数量)和大小(嵌套元素的长度)的嵌套列表的最大值。

预期行为:

In [1]: nested_max([[1, 2], [[2, 1], [3, 4]]])
Out [1]: 4

如果有人能帮助我解决这个问题,我将不胜感激。

【问题讨论】:

标签: python


【解决方案1】:

不是来做功课的,但会破例:

def iter_list_max(alist, _max=None):
    if _max is None:
         _max = float('-inf')
    for el in alist:
         if isinstance(el, list):
             _max = iter_list_max(el, _max)
         else:
             _max = max(el, _max)
    return _max

请注意,您的列表只能包含其他整数列表,请检查可迭代以获得更好的解决方案

在[70]中:myl = [[1, 2], [[2, 1], [3, 4, [[1,2], [56]]]]]

在 [71] 中:iter_list_max(myl)
出局[71]:56

【讨论】:

    【解决方案2】:

    如果您可以使用 numpy 模块,则可以使用一个衬里:

    globalmax = np.array(list).flatten().max
    

    【讨论】:

    • 你检查答案了吗?
    猜你喜欢
    • 2021-02-24
    • 2021-12-03
    • 2018-07-24
    • 2018-10-24
    • 2019-06-24
    • 1970-01-01
    • 1970-01-01
    • 2013-08-04
    • 1970-01-01
    相关资源
    最近更新 更多