来自列表python中的字符串

时间:2011-08-18 11:24:56

标签: python list

我有一个列表,其中包含关键字id = ['pop','ppp','cre'],现在我正在浏览一堆文件/大字符串,如果这些关键字中的任何一个都在我的文件中能做点什么......

像:

id = ['pop','ppp','cre']
if id in dataset:
         print id

但我认为现在所有这3个或更高版本可能更多都必须在数据集中,而不仅仅是一个。

3 个答案:

答案 0 :(得分:1)

您可以使用all确保id列表中的所有值都在数据集中:

id = ['pop', 'ppp', 'cre']
if all(i in dataset for i in id):
    print id

答案 1 :(得分:1)

您的代码实际上将通过dataset查看整个列表“['pop', 'ppp', 'cre']”。你为什么不尝试这样的事情:

for item in id:
    if item in dataset:
        print id

修改

这可能会更有效:

for item in dataset:
    if item in id:
        print id

假设| dataset | > | ID |当你找到一个匹配时,你就会脱离循环。

答案 2 :(得分:1)

由于您提到需要检查数据集中的任何字词,我认为any() built-in method will help

if any(word in dataset for word in id):
    # do something

或者:

if [word for word in id if word in dataset]:
    # do something

if filter(lambda word: word in dataset, id):
    # do something