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
组合起来,还是想要urfor
循环和嵌套的if
语句是否正常工作?您是否希望有一种方法将for
和if
组合起来,还是希望for
循环和嵌套的if
语句正常工作?