我必须在Python中查找最长的列表列表。
例如:
longest([1,2,3])
返回3
longest([[[1,2,3]]])
还返回3(内部列表为3)
longest([[], [3,[4,5],[2,3,4,5,3,3], [7], 5, [1,2,3], [3,4]], [1,2,3,4,5]])
返回7(list[3,[4,5],[2,3,4,5,3,3], [7], 5, [1,2,3], [3,4]]
包含7个元素)
现在我有了这段代码,但它并不能解决前两个示例的问题。。
def longest(list1):
longest_list = max(len(elem) for elem in list1)
return longest_list
也许递归会有帮助? 谢谢您!
Python3.3版本:
用法:
在Python2.6+中,没有
yield from
语句(在Python3.3中引入),因此必须稍微更改代码:这几行对我来说很简单,我的列表是嵌套的(列表列表)
下面是任意深度列表的递归解决方案:
相关问题 更多 >
编程相关推荐