我有一份字谜的子列表,例如
L = [['terrible', 'elbirret'],
['supermonster', 'retsnomrepus'],
['you', 'uoy', 'oyu'],
['pears', 'reaps', 'spear', 'spera']]
如何编写一个函数,为我提供具有最长字谜的子列表或字谜组。
即。如果清单是
L = [['spear', 'pears', 'reaps'], ['monster', 'sternom']]
它会给我
['monster', 'sternom']
答案 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']]