检查字符串是否包含任何列表元素

时间:2016-07-17 01:38:04

标签: python list

所以我正在做一个列表的for循环。每个字符串,我想.find,但不是.find一个项目的字符串,我想检查我的列表中的任何字符串。

例如。

checkfor = ['this','that','or the other'] 

然后做

string.find(checkfor)或其他什么,所以我想这样做:

if email.find(anything in my checkforlist) == -1:
    do action

4 个答案:

答案 0 :(得分:0)

  

我想检查列表中的任何字符串

Python有in

for s in checkfor:
    if s in email:
        # do action 

答案 1 :(得分:0)

您可以尝试使用列表推导来完成此任务。

occurrences = [i for i, x in enumerate(email) if x =='this']

答案 2 :(得分:0)

使用op_samples -= mean return (op_samples[:op_samples.size-separation]*op_samples[separation:]).ravel().mean() / norm 子句:

in

答案 3 :(得分:0)

如果你只是想知道字符串中是否存在列表中至少有一个值,那么一个简单的方法就是:

any(email.find(check) > -1 for check in checkfor)

如果要检查字符串中是否存在所有字符,请执行

all(email.find(check) > -1 for check in checkfor)

或者,如果您想要在字符串中匹配的确切值,您可以这样做:

matches = [match for match in checkfor if email.find(match) > -1]

我更愿意使用:

check in email

email.find(check) > -1

但我想这可能取决于您的使用案例(使用in运算符,上述示例可能看起来更好。)

根据您的情况,您可能更愿意使用regular expressions,但我不会在这里进入。