【发布时间】:2020-02-11 21:07:48
【问题描述】:
我有一个元素 N,它可以是列表或元组。 N 的元素可以是整数、元组或列表。任务是将其展平并返回最大值。
我设法使 N 变平并且能够返回一个整数列表,但是当我应用 max() 时出现错误:TypeError: can only concatenate list (not "int") to list... 我是不知道我在哪里弄错了,为什么,即使我尝试将结果转换为列表:
def maxVal(n):
mode = (list,tuple)
result = sum(([x] if not isinstance(x, mode) else maxVal(x)for x in n), [])
output = []
for i in result:
output.append(i)
return max(output)
如果我使用返回输出(没有 max() 函数) 我得到:[5、1、2、1、9]
谢谢
【问题讨论】:
-
你能打印输出吗?
-
这能回答你的问题吗? Flatten an irregular list of lists