列表python中子列表中的字符串长度

时间:2014-12-11 03:48:09

标签: python string list

我有一份字谜的子列表,例如

L = [['terrible', 'elbirret'],
     ['supermonster', 'retsnomrepus'],
     ['you', 'uoy', 'oyu'],
     ['pears', 'reaps', 'spear', 'spera']]

如何编写一个函数,为我提供具有最长字谜的子列表或字谜组。

即。如果清单是

L = [['spear', 'pears', 'reaps'], ['monster', 'sternom']]

它会给我

['monster', 'sternom']

1 个答案:

答案 0 :(得分:4)

使用带有键功能的max来获取包含最长字符串的列表:

>>> L = [['spear', 'pears', 'reaps'], ['monster', 'sternom']]
>>> max(L, key=lambda xs: len(xs[0]))
['monster', 'sternom']

<强>更新

  

如果有多个长度相同的子列表怎么办?

找出最大长度。根据长度过滤子列表:

>>> L = [['largest', 'artlegs'], ['spear', 'pears', 'reaps'], ['monster', 'sternom']]
>>> M = max(len(xs[0]) for xs in L)
>>> [xs for xs in L if len(xs[0]) == M]
[['largest', 'artlegs'], ['monster', 'sternom']]