Python |在嵌套列表中查找最大长度子列表
原文:https://www . geesforgeks . org/python-find-最大长度-嵌套列表中的子列表/
给定一个列表,编写一个 Python 程序来查找最大长度的列表。输出应为 (list,list_length) 形式。
示例:
Input : [['A'], ['A', 'B'], ['A', 'B', 'C']]
Output : (['A', 'B', 'C'], 3)
Input : [[1, 2, 3, 9, 4], [5], [3, 8], [2]]
Output : ([1, 2, 3, 9, 4], 5)
我们来讨论一下解决这个问题的不同方法。
方法#1 : 使用 for 循环(幼稚) 这是一种蛮力方法,我们迭代每个列表项(列表)并找到最大长度的列表。同样,我们使用 for 循环来查找每个列表的长度,并输出最大长度。
# Python3 program to Find maximum
# length list in a nested list
def FindMaxLength(lst):
maxList = max((x) for x in lst)
maxLength = max(len(x) for x in lst )
return maxList, maxLength
# Driver Code
lst = [['A'], ['A', 'B'], ['A', 'B', 'C']]
print(FindMaxLength(lst))
Output:
(['A', 'B', 'C'], 3)
方法 2 : 使用map
在这个方法中,我们使用 Python 映射函数迭代内部列表来创建长度列表,然后使用 max 函数获得最大值。
# Python3 program to Find maximum
# length list in a nested list
def FindMaxLength(lst):
maxList = max(lst, key = len)
maxLength = max(map(len, lst))
return maxList, maxLength
# Driver Code
lst = [['A'], ['A', 'B'], ['A', 'B', 'C'], ]
print(FindMaxLength(lst))
Output:
(['A', 'B', 'C'], 3)
方法#3 : 使用lambda
运算符
Python 中查找最长长度列表的另一种方法是 lambda 运算符。它用于在 Python 中创建小型、一次性和匿名的函数对象。这里我们传递一个变量 i 作为 len(i) 表达式中的参数,并找到最大长度。
# Python3 program to Find maximum
# length list in a nested list
def FindMaxLength(lst):
maxList = max(lst, key = lambda i: len(i))
maxLength = len(maxList)
return maxList, maxLength
# Driver Code
lst = [['A'], ['A', 'B'], ['A', 'B', 'C']]
print(FindMaxLength(lst))
Output:
(['A', 'B', 'C'], 3)
版权属于:月萌API www.moonapi.com,转载请注明出处