Python 检查数组中任何项的字符串

Python 检查数组中任何项的字符串,python,Python,我有一个字符串(以逗号分隔的项目),我需要检查字符串(或拆分后的列表)中的任何项目是否存在于长字符串中 我知道如何以一种很长的方式来做这件事,比如: people="first,second" test='hello_first' for i in people.split(","): if i in test : print 'found' 是否有更好的方法将for和if组合在一行中 e、 g.使用任何或什么 if any(x in people.split("

我有一个字符串(以逗号分隔的项目),我需要检查字符串(或拆分后的列表)中的任何项目是否存在于长字符串中

我知道如何以一种很长的方式来做这件事,比如:

people="first,second"
test='hello_first'

for i in people.split(","):
    if i in test :
          print 'found'
是否有更好的方法将
for
if
组合在一行中

e、 g.使用
任何
或什么

if any(x in people.split(",") for x in test) :
    print 'found'

似乎没有打印“已找到”

如果测试中有任何单词,请使用任何检查:

if any(word in test for word in people.split(",")):
   # do whatever

您的逻辑不正确,因为您正在检查测试是否在与第一个循环不匹配的单词拆分列表中。

如果测试中有任何单词,请使用任何检查:

if any(word in test for word in people.split(",")):
   # do whatever

您的逻辑不正确,因为您正在检查测试是否在与第一个循环不匹配的拆分单词列表中。

请注意,这与原始嵌套循环不完全相同,因为该循环将运行
print'found'
N次(其中N现在是
people.split(',')中的多个元素)
出现在
test
@AdamSmith中,OP想知道是否有单词匹配,他们只是根据第二段代码使用了错误的单词。哦,我同意,我只是指出示例代码和结果代码之间的差异。OP想做的几乎肯定是这样的(即使他不知道!!)你不需要使用
test.split(“”)
来获取输入字符串中的单词吗?@Barmar,OP正在测试字符串中是否有逗号分隔后的单词。我需要检查字符串中是否有任何项目(或拆分后的列表)以长字符串形式存在。如果要避免在
hello_firsts
中匹配
first
,则需要拆分,但可能
可以是任何内容,如果是这样,正确的解决方案将是带有单词边界的正则表达式。请注意,这与原始嵌套循环不完全相同,因为该循环将运行
print'found'
N次(其中N现在是
people.split(',')中的许多元素)
出现在
test
@AdamSmith中,OP想知道是否有单词匹配,他们只是根据第二段代码使用了错误的单词。哦,我同意,我只是指出示例代码和结果代码之间的差异。OP想做的几乎肯定是这样的(即使他不知道!!)你不需要使用
test.split(“”)
来获取输入字符串中的单词吗?@Barmar,OP正在测试字符串中是否有逗号分隔后的单词。我需要检查字符串中是否有任何项目(或拆分后的列表)以长字符串形式存在。如果他们想避免在
hello_firsts
中匹配
first
是,他们将需要拆分,但可能
可以是任何内容,如果是,正确的解决方案将是一个带单词边界的正则表达式。您是想要一个方法将
for
If
组合起来,还是想要ur
for
循环和嵌套的
if
语句是否正常工作?您是否希望有一种方法将
for
if
组合起来,还是希望
for
循环和嵌套的
if
语句正常工作?