是否有任何Python內建或廣泛使用的Python庫在排序序列中執行搜索?搜索排序列表?
Q
搜索排序列表?
16
A
回答
22
13
值得注意的是,有一些高質量的Python庫可用於維護排序列表,這些列表還可實現快速搜索:sortedcontainers和blist。當然,使用這些取決於您插入/移除列表中的元素並需要搜索的頻率。每個模塊都提供一個SortedList類,可以按排序順序高效地維護這些項目。
從排序列表的文檔:
L.bisect_left(value)
Similar to the bisect module in the standard library, this returns
an appropriate index to insert value in L. If value is already present
in L, the insertion point will be before (to the left of) any existing
entries.
L.bisect(value)
Same as bisect_left.
L.bisect_right(value)
Same as bisect_left, but if value is already present in L, the
insertion point will be after (to the right of) any existing entries.
兩種實現使用二進制搜索來查找給定值的正確索引。有一個performance comparison頁面可供選擇這兩個模塊。
免責聲明:我是sortedcontainers模塊的作者。
相關問題
- 1. 對象的搜索和排序列表
- 2. 排序列表,搜索結果等
- 3. 排序列表查看搜索數據
- 4. 在attribute_B排序列表中搜索attribute_A
- 5. 元搜索排序排序列
- 6. Python - 列表的排序列表中的二進制搜索
- 7. 搜索並添加到按字母順序排列的列表
- 8. 二維陣列排序列表的線性搜索
- 9. 排序列表與未排序列表的線性搜索 - 爲什麼排序較慢?
- 10. 搜索與依賴的順序排列
- 11. 搜索查看結果和排序列
- 12. 二進制搜索升序排列C++
- 13. 全文搜索 - 搜索字詞排序
- 14. 搜索後不保留搜索排序,返回默認排序
- 15. SQL搜索結果按搜索的順序排列
- 16. 使用Ajax搜索和排序表格
- 17. 當我在搜索的字段上排序時,可以更快地搜索排序的列表<T>嗎?
- 18. 排列2D陣列或排序1D +線性搜索。
- 19. 搜索列表
- 20. 在長排序列表中搜索值之前和之後
- 21. 排序整數列表中的近似搜索算法
- 22. 在Tcl中搜索排序列表中的數字
- 23. 如何在wpgeodirectory的搜索頁中排序列表?
- 24. 二進制搜索已排序的列表<int>
- 25. 使用搜索字符串對列表進行排序
- 26. 快速搜索C++中的字符串排序列表
- 27. 搜索/排序基於類成員的鏈接列表(C++)
- 28. 遞歸搜索新項目在排序列表中的位置?
- 29. 引導+ AngularJS - 如何排序/搜索/編輯/分頁表列
- 30. C#ASP.NET - 緩存需要搜索/排序的對象列表?
序列是什麼?另外,什麼樣的搜索(二進制等)? – 2010-07-07 16:07:02
我相信問題是試圖成爲「規範」或「通用」,因此「序列」的含義可能是使用[序列的Python文檔定義(即Python 2.x)。有七種序列類型:字符串,Unicode字符串,列表,元組,字節數組,緩衝區和xrange對象。「)](https://docs.python.org/2/library/stdtypes.html#sequence-types-str-unicode-list-tuple -bytearray-buffer-xrange) – 2017-10-25 12:42:51