在 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)

更新于: 2021年1月25日

823 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告