2016-01-13 30 views
0

我在一個列表中有幾個列表,我想比較列表的長度並打印最大數量爲len的列表。打印多個列表的最大長度

例如:

somelist = [['a','b','c'],['a','b']] 

第一清單具有比第二列表(2)更大的LEN(3),我怎麼在蟒紋呢?

+0

那麼,什麼是預期輸出?'3'或'['a','b','c']' –

+0

我認爲OP只想要長度不是與其對應的列表 – kmario23

回答

5

使用max() functiongenerator expression

max(len(l) for l in somelist) 

此計算長度爲每個子表,並返回最大的一個。

相反,如果你想提取具有最長長度本身(所以['a', 'b', 'c']而不是3列表,使用len作爲key參數:

max(somelist, key=len) 

演示:

>>> somelist = [['a', 'b', 'c'], ['a', 'b']] 
>>> max(len(l) for l in somelist) 
3 
>>> max(somelist, key=len) 
['a', 'b', 'c'] 
+0

這是完美的謝謝! –