我正在尝试搜索匹配的字符串列表。
这是我的字符串列表:
ignore = ['40015','8002']
我正在使用以下内容寻找匹配
if any(evtsummary in s for s in ignore):
如果evtsummary =“8002”匹配
如果evtsummary =“something8002”则不匹配
我希望它在两种情况下都匹配。
答案 0 :(得分:1)
假设evtsummary
是您所说的字符串,并且您希望匹配something 8002
而不是something8002
。
所以只需拆分evtsummary
,然后检查:
if any(s in evtsummary.split() for s in ignore):
答案 1 :(得分:0)
看起来你的意思是:
if any(s in evtsummary for s in ignore):
...
这意味着,evtsummary
是否包含ignore
列表中的任何项目?
答案 2 :(得分:0)
因为它不清楚你真正想要的是什么。这里有三个不同的尝试,每个都针对三个不同的字符串进行测试。
ignore = ['40015','8002']
for evtsummary in ["something 8002", "something8002", "8002"]:
print "trying with {}".format(evtsummary)
if any(evtsummary in s for s in ignore):
print "first"
if any(s in evtsummary for s in ignore):
print "second"
if any(s in evtsummary.split() for s in ignore):
print "third"
print
好像你想要第二个选项,但原来的问题听起来更像你想要的第三个选项。