提取至少包含另一个列表项的列表元素的有效方法

时间:2018-07-09 07:55:21

标签: python performance list

我有2个列表。 一个是字符串列表。称它为A。 另一个是术语列表。叫B。

我需要从字符串列表中提取那些至少包含术语列表中所包含术语的元素。

嵌套的for循环显然是可能的:

for a in A:
    for b in B:
        if b in a:
            print (a)

这是O(n ^ 2),这不是一个好方法,因为A很长(十亿个字符串!)。

我认为的另一个解决方案是: 分割a并按长度排序,然后使用倒排列表方法。

我还没有计时,但应该会好一点。

真的欢迎任何关于替代方法的提示!

1 个答案:

答案 0 :(得分:0)

只需使用集:

{{1}}