You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中用Binary Search实现类SQL LIKE的数组特定短语检索可行吗?

能否用二分查找实现类似SQL LIKE的字符串匹配?

不行,二分查找完全不适合这个场景。

二分查找的核心依赖是数组必须是有序的——它通过对比目标值与中间元素的大小关系,每次把查找范围缩小一半。但你要做的是查找包含特定子串(比如"to")的元素,这种匹配逻辑和元素的排序规则毫无关联:不管数组是按数字大小、字符串长度还是字母顺序排序,只要元素里有"to"就符合条件,二分查找的排序前提在这里完全不成立。

要实现你的需求,直接用遍历或者列表推导式就可以,简单高效:
示例代码:

# 你的目标数组
target_arr = ["128 to 300", "400", "500", "550 to 600"]
# 筛选包含"to"的元素
matched_items = [item for item in target_arr if "to" in item]
print(matched_items)  # 输出: ['128 to 300', '550 to 600']

如果你的数组规模极大,想优化查询效率,可以预先把符合条件的元素单独存储(比如构建一个索引列表),但这和二分查找没有任何关系。

内容的提问来源于stack exchange,提问作者Amaan Sayed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 09:33:10