是否有任何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