在列表中搜索字符串并将其存储在 Python 中

Posted

技术标签:

【中文标题】在列表中搜索字符串并将其存储在 Python 中【英文标题】:Search a list for a string and store it in Python 【发布时间】:2013-12-27 21:23:06 【问题描述】:

我有一个从文本文件生成的字符串列表,我需要测试一个输入字符串以查看它是否包含我列表中的任何单词。然后我需要存储匹配的字符串,以便以后可以使用它们。目前我正在使用

has_words = any(string in op_text for string in words)

但我相信这只返回真/假。

【问题讨论】:

【参考方案1】:

您可以改为使用列表推导创建匹配词的列表:

matching = [string for string in words if string in op_text]

【讨论】:

好的,一个后续问题。我从文本文件中导入了我的单词,其中每一行都是我有兴趣搜索的单独字符串。 words = open(fileName, 'database.doc')这个匹配是否会让每个索引成为文档中的一行,即使该行有空格(即该行中有多个单词)?【参考方案2】:

根据以便以后可以使用的意思,你可以使用一个集合...

op_words = 'one', 'bob', 'whatever'
matching = op_words.intersection(words)

【讨论】:

以上是关于在列表中搜索字符串并将其存储在 Python 中的主要内容,如果未能解决你的问题,请参考以下文章