【发布时间】:2018-07-09 07:55:20
【问题描述】:
我有 2 个列表。 一个是字符串列表。称它为A。 另一个是术语列表。叫它B。
我需要从字符串列表中提取至少包含术语列表中的术语的元素。
嵌套的for循环显然是一种可能性:
for a in A:
for b in B:
if b in a:
print (a)
这是 O(n^2),这不是一个好方法,因为 A 很长(10 亿个字符串!)。
我认为的另一个解决方案是: 拆分 a 并按长度对其进行排序,然后使用倒排列表方法。
我还没有计时,但应该会好一些。
非常欢迎任何关于替代方法的提示!
【问题讨论】:
-
你能用任何示例测试用例解释一下吗?
-
同意,目前尚不清楚您的数据具有什么形状。
标签: python performance list