我有一个包含约30,000,000个化学名称的大列表和一个以XML文件形式存储在服务器上的大量文章列表(~34,000)。
我试图将每个XML作为字符串解析,查找是否提到了一个或多个化学名称。最终结果是一个制表符分隔的文本文件,其中包含文件名和出现在该文件中的化学物质列表。
目前的问题是,我使用for循环遍历所有化学成分以及嵌套在所有XMLs for循环中。for循环内部嵌套Python中的string in string
操作。是否有任何方法可以通过使用比string in string
更有效的操作或重新排列for循环来提高性能?
我的伪代码:
for article is articles:
chemicals_in_article = []
temp_article = article.lower()
for chemical in chemicals:
if chemical in temp_article: chemicals_in_article.append(chemical)
#Write the results into a text file
output_file.write(article.file_name)
for chemical in chemicals_in_article:
output_file.write("\t" + chemical)
output_file.write("\n")
matches
进行匹配,否则速度会很慢。 - Amadan