查找多个列表的最小长度
Finding the minimum length of multiple lists
我有三个不同长度的列表。
例如
List1 is of length 40
List2 is of length 42
List3 is of length 47
如何使用 Python 内置 min()
或任何其他方法来查找具有最小长度的列表?
我试过了:
min(len([List1,List2,List3]))
但我得到 TypeError: 'int' object is not iterable
您需要分别对每个列表应用len()
:
shortest_length = min(len(List1), len(List2), len(List3))
如果您已经有了一系列列表,您可以使用 map()
function or a generator expression:
list_of_lists = [List1, List2, List3]
shortest_length = min(map(len, list_of_lists)) # map function
shortest_length = min(len(l) for l in list_of_lists) # generator expr
要查找最短列表,而不是最短长度,请使用 key
参数:
list_of_lists = [List1, List2, List3]
shortest_list = min(list_of_lists, key=len)
使用生成器表达式
min(len(i) for i in [List1,List2,List3])
我有三个不同长度的列表。
例如
List1 is of length 40
List2 is of length 42
List3 is of length 47
如何使用 Python 内置 min()
或任何其他方法来查找具有最小长度的列表?
我试过了:
min(len([List1,List2,List3]))
但我得到 TypeError: 'int' object is not iterable
您需要分别对每个列表应用len()
:
shortest_length = min(len(List1), len(List2), len(List3))
如果您已经有了一系列列表,您可以使用 map()
function or a generator expression:
list_of_lists = [List1, List2, List3]
shortest_length = min(map(len, list_of_lists)) # map function
shortest_length = min(len(l) for l in list_of_lists) # generator expr
要查找最短列表,而不是最短长度,请使用 key
参数:
list_of_lists = [List1, List2, List3]
shortest_list = min(list_of_lists, key=len)
使用生成器表达式
min(len(i) for i in [List1,List2,List3])