【问题标题】:Python : Idiomatic way to get list with the lesser size [duplicate]Python:获取较小尺寸列表的惯用方法[重复]
【发布时间】:2014-07-16 16:11:08
【问题描述】:

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

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

有没有更惯用的方法来做到这一点?

【问题讨论】:

    标签: python list idioms


    【解决方案1】:

    使用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]
    

    【讨论】:

    • 我实际上试图找出是否可以改变 min() 的行为,但我没有成功。感谢您的快速答复!
    猜你喜欢
    • 1970-01-01
    • 2011-04-22
    • 2019-04-13
    • 1970-01-01
    • 2018-04-22
    • 2018-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多