查找多个列表的最小长度

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