来自python列表中字符串的内容

来自python列表中字符串的内容,python,list,Python,List,我有一个关键字id=['pop','ppp','cre']的列表,现在我正在浏览一堆文件/大字符串,如果这些关键字中有任何一个在这些文件中,我必须能够做一些事情 比如: 但我认为现在所有这3个或更高版本可能都必须在数据集中,而不仅仅是一个。您可以使用all来确保id列表中的所有值都在数据集中: id = ['pop', 'ppp', 'cre'] if all(i in dataset for i in id): print id 您可以使用all确保id列表中的所有值都在数据集中:

我有一个关键字id=['pop','ppp','cre']的列表,现在我正在浏览一堆文件/大字符串,如果这些关键字中有任何一个在这些文件中,我必须能够做一些事情

比如:


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

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

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

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

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

您的代码将实际查看整个列表“
['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 |,当您找到匹配项时,您将跳出循环。

您的代码将实际查看整个列表“
['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 |,当您找到匹配项时,您会跳出循环。

既然您提到需要检查dataset中的任何单词,那么我认为:

或:

以及:


既然您提到需要检查数据集中的任何单词,那么我认为:

或:

以及:



这个问题明确指出,数据集中应该有任何,而不是全部“但我认为现在所有这3个或更高版本可能都必须在数据集中,而不仅仅是一个。”“如果这些关键字中有任何一个在这些文件中,我必须能够做些什么”。我认为这句话指的是他认为他目前的代码在做什么。。。。是的,这实际上是需要解决的问题。我会请他澄清的。我们显然对他的问题陈述有不同的理解。问题明确指出,任何,而不是所有,都应该在数据集中“但我认为现在这3个或更高版本可能都必须在数据集中,而不仅仅是一个。”“如果这些关键词中的任何一个在这些文件中,我必须能够做些什么”。我认为这句话指的是他认为他目前的代码在做什么。。。。是的,这实际上是需要解决的问题。我会请他澄清的。我们显然对他的问题陈述有不同的理解。你想匹配
id
中的任何关键字,还是
id
中的所有关键字?@Jasper:你不应该使用
id
作为变量名,因为它会隐藏内置函数
id()
。你想匹配
id
中的任何关键字吗,或者
id
中的所有关键字?@Jasper:你不应该使用
id
作为变量名,因为它隐藏了内置函数
id()
。他说数据集是一堆文件/大字符串。我不确定迭代是否有帮助。请查看
all()
::的文档,这正是函数所做的。您建议如何在不迭代的情况下检查元素是否在
数据集中
?迭代字符串一次返回一个字符的值。所以,不,这是行不通的。正如你所说,这是在“一堆文件/大字符串”上迭代,而不是字符串。好吧,如果是字符串列表,那怎么更好呢?您正在检查整个大字符串是否在
id
中?他说数据集是一堆文件/大字符串。我不确定迭代是否有帮助。请查看
all()
::的文档,这正是函数所做的。您建议如何在不迭代的情况下检查元素是否在
数据集中
?迭代字符串一次返回一个字符的值。所以,不,这是行不通的。正如你所说,这是在“一堆文件/大字符串”上迭代,而不是字符串。好吧,如果是字符串列表,那怎么更好呢?您正在检查整个大字符串是否在
id
中?
if filter(lambda word: word in dataset, id):
    # do something