从列表||中查找两个最长的字符串 或PYTHON中第二长的名单

irf*_*ari -1 python arrays string list find

我想知道如何从列表(数组)中找到两个最长的字符串,或者如何从列表中找到第二个最长的字符串.谢谢

lvc*_*lvc 5

您可以使用标准heapq模块执行此操作:

>>> lst = ['hello', 'blah', 'boo', 'braininess']
>>> heapq.nlargest(2, lst, key=len)
['braininess', 'hello']
Run Code Online (Sandbox Code Playgroud)


Kim*_*ais 5

最简单的方法是使用该sorted()函数,使用另一个内置函数len 作为key参数,如下所示;

>>> foo = ['dddd', 'ccc', 'bb', 'a', 'eeeee']
>>> sorted(foo, key=len)[-2]
'dddd'
Run Code Online (Sandbox Code Playgroud)

或者如果你需要两个最长的:

>>> sorted(foo, key=len)[-2:]
['dddd', 'eeeee']
Run Code Online (Sandbox Code Playgroud)