max(L,key=len)将为您提供最长的对象(
[1,2,3]在您的示例中)-要实际获取长度(如果您只关心它),您可以这样做
len(max(L,key=len)),这有点丑陋-
我将其分成两行。或者,您可以使用ecatamur提供的版本。
所有这些答案都有循环-在我的情况下,循环是 隐式的 ,这通常意味着它们将在优化的本机代码中执行。如果您考虑一下,如何不看每个元素就知道哪个元素最长?
最后,请注意,这
key=function不是特定于的功能
max。很多蟒蛇建宏(
max,
min,
sorted,
itertools.groupby,…)用这种特殊关键字参数。绝对值得花一点时间来了解它的工作原理和通常的功能。


![最长子列表的长度?[重复] 最长子列表的长度?[重复]](http://www.mshxw.com/aiimages/31/634362.png)
