我正在尝试创建一个从嵌套列表返回 max 的函数?

2024-04-14

我写了这个,它可以很好地处理所有事情,但是当我有一个空列表时 在给定列表中(given_list=[[],1,2,3])它说索引超出范围。有什么帮助吗?

def r_max (given_list):
    largest = given_list[0]
    while type(largest) == type([]):
        largest = largest[0]

    for element in given_list:
        if type(element) == type([]):
            max_of_elem = r_max(element)
            if largest < max_of_elem:
                largest = max_of_elem
        else:                           # element is not a list
            if largest < element:
                largest = element

    return largest

您假设给定列表至少有 1 个元素,这是不正确的。 为了避免索引超出范围,您可以添加

if (len(given_list) == 0)
  return None

到你的函数的开始。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我正在尝试创建一个从嵌套列表返回 max 的函数? 的相关文章

随机推荐