Python:获取较小尺寸列表的惯用方法

时间:2014-07-16 16:11:08

标签: python list idioms

我有一个包含其他列表的列表,我想检索具有最少元素的列表。 一个明显的解决方案是:

list_of_list = ...
least = list_of_lists[0]
for list in list_of_lists[1:]
  if len(list) < len(least):
    least = list
return least

是否有更惯用的方式来做到这一点?

1 个答案:

答案 0 :(得分:5)

使用min()作为密钥使用len()

min(list_of_lists, key=len)

这将返回最短的列表:

>>> import random
>>> list_of_lists = [[None] * random.randint(3, 10) for _ in range(10)]
>>> min(list_of_lists, key=len)
[None, None, None]