我想知道如何從列表(數組)中找到兩個最長的字符串或如何從列表中找到第二個最長的字符串。感謝從列表||找到兩個最長的字符串或第二個最長的列表在PYTHON
-1
A
回答
5
您可以使用標準的heapq module做到這一點:
>>> lst = ['hello', 'blah', 'boo', 'braininess']
>>> heapq.nlargest(2, lst, key=len)
['braininess', 'hello']
1
如果是你的字符串列表,然後a.sort(鍵= LEN)將整理您通過其長度的字符串列表。最長的是[-1],第二長的是[-2]。 `
5
做,這是通過其他內置功能
len
爲
key
參數按如下方式使用
sorted()
功能
最簡單的方法;
>>> foo = ['dddd', 'ccc', 'bb', 'a', 'eeeee']
>>> sorted(foo, key=len)[-2]
'dddd'
,或者如果您需要兩個最長:
>>> sorted(foo, key=len)[-2:]
['dddd', 'eeeee']
0
l = ['123', '12345', '12']
l.sort(key=lambda item: len(item))
l.[-1] # longest
l.[-2] # second longest
+2
如果你使用的是lambda表達式,那麼你可以使用''-len(item)''來讓它們按降序排列以獲得更多的正常訪問,但是,只需要給出len結構作爲''key''參數。 – 2012-03-27 10:12:58
+0
謝謝Lattyware - 我不知道。我會記下來。 – Adobe 2012-03-27 10:15:32
相關問題
- 1. 如何使從最冗長的字符串到最不長的字符串列表中的列表
- 2. 從C中的十個字符串列表中找出最長的字符串?
- 3. 查找Python列表最長匹配串
- 4. 搜索最長的字符串列表
- 5. 在多個列表中查找最長字符串長度的更好方法
- 6. 如何找到最長的字符串表中的列數據
- 7. 找到列表c中字符串的最長匹配c#
- 8. 在列表中找到最高的第二個元素(Python)的
- 9. Python:最長的子列表的長度?
- 10. 從列表中的子列表中提取最長的字符串。 Python
- 11. 如何找到一個字符串的最長重複序列
- 12. 的Python - 返回最長的從列表
- 13. Python 3.6.2 - 查找子列表中最長字符串的長度並將該值存儲在現有列表中
- 14. 找到最長的鏈接列表?
- 15. 以列表爲值的字典 - 找到最長列表
- 16. 最長的子字符串排除字符串列表
- 17. 查找列表中最長的字符串
- 18. 找到最長的字符串(最長的鳴叫)? MongoDB的。
- 19. 查找最小長列表Python
- 20. 找到兩個基因組序列中最長的子串
- 21. 查找最長字符串的長度
- 22. 找出最長序列在一個字符串中的時間長度
- 23. 查找2個字符串的最長公共子序列?
- 24. 從字符串列表中找到最快的字符串
- 25. Python - 用findall找到最長的序列
- 26. 從列表中找到最長的連續子列表使用python
- 27. 找到最長的字符串前綴
- 28. 在列表中找到最長的單詞python
- 29. Python的 - 兩個列表長度相同
- 30. 兩個Python列表的匹配長度
你想爲你做? – Denis 2012-03-27 10:07:36