【发布时间】:2013-01-17 22:07:42
【问题描述】:
假设我有一个字符串和一个字符串列表:
a = 'ABCDEFG'
b = ['ABC', 'QRS', 'AHQ']
如何提取列表 b 中与字符串 a 的一部分完全匹配的字符串?所以会返回类似于['ABC']
最重要的问题是我有几千万的字符串,所以时间效率是必不可少的。
【问题讨论】:
-
您只想要第一个匹配项还是所有匹配项的列表?
-
仅仅因为你有数千万个字符串并不意味着明显的答案太慢了。不要只是假设它很慢——计时然后看看。向我们展示代码,告诉我们需要多长时间,并告诉我们这太长了,否则人们会继续发布答案,告诉您您已经知道的内容。
-
这将是一个控制台应用程序吗?或者您是否有要在其上运行此代码的服务器?
-
如果您确实需要对此进行优化:
b是一个大字符串列表,您只需要针对单个a运行一次吗? (换句话说,预处理a是不是显而易见的正确做法?) -
我有 50,000,000 个字符串和一个 6000 个字符串长的字符串列表。
标签: python list intersection