Python列表列表中的最长列表;具有空列表支持

  • 本文关键字:列表 支持 Python python list
  • 更新时间 :
  • 英文 :


很多线程已经在讨论返回列表列表中的最长列表

max(sorted(lst_of_lsts, key = len))

但如果lst_of_lsts是一个空列表,这就会喷出。

max(sorted(lst_of_lsts, key = len)) ValueError: max() arg is an empty sequence

是否有支持空列表的版本? 它将返回一个空列表。

谢谢

您可以按[[]]添加列表:

max(lst_of_lsts + [[]], key = len)

首先,您的原件不正确。 max不需要排序参数,即使你对它进行了排序,你仍然需要key传递给max。下面是一个示例,说明如果不这样做会发生什么情况:https://ideone.com/TMJyGK。

我能想到的最简单的事情就是检查你的列表是否为空:

max(lst_of_lst if lst_of_lst else [[]], key=len)

max(lst_of_lst, key=len) if lst_of_lst else []

你想要这样的东西吗?

lst_of_lsts = [[], []]
lst = sorted(lst_of_lsts, key = len)[0]
if lst:
    print(max(lst))
else:
    print() #whatever

最新更新