在 Python 中查找嵌套列表中的最大长度子列表
在 Python 中进行数据分析时,我们经常会处理嵌套列表。在本文中,我们将了解如何找出嵌套列表中元素中最长的列表,然后打印该列表及其长度。
使用 lambda 和 map
我们声明一个嵌套列表,并将其作为输入传递给 lambda 函数以及其长度。最后,我们应用 max 函数来获取长度最大的列表以及此类列表的长度。
示例
def longest(lst): longestList = max(lst, key = lambda i: len(i)) maxLength = max(map(len, listA)) return longestList, maxLength # Driver Code listA = [[1,2], [2,45,6,7], [11,65,2]] print("Longest List and its length:\n",longest(listA))
输出
运行上述代码将得到以下结果:
Longest List and its length: ([2, 45, 6, 7], 4)
使用 len 和 max
在这种方法中,我们首先找到长度最大的子列表,然后遍历列表的元素以找出哪些子列表与该长度匹配。我们使用 max 和 len 函数来进行此计算。
示例
def longest(lst): longestList = [] maxLength = max(len(x) for x in listA) for i in listA: if len(i) == maxLength : longestList = i return longestList, maxLength # Driver Code listA = [[1,2], [2,45,6,7], [11,6,2]] print("Longest List and its length:\n",longest(listA))
输出
运行上述代码将得到以下结果:
Longest List and its length: ([2, 45, 6, 7], 4)
使用 map
这与上述程序类似,但我们使用 map 函数来找出长度最大的子列表。
示例
def longest(lst): longestList = [] maxLength = max(map(len,listA)) for i in listA: if len(i) == maxLength : longestList = i return longestList, maxLength # Driver Code listA = [[1,2], [2,45,6,7], [11,6,2]] print("Longest List and its length:\n",longest(listA))
输出
运行上述代码将得到以下结果:
Longest List and its length: ([2, 45, 6, 7], 4)
广告