我有这个代码检查列表中的单词" Markers"可以在字符串中找到"翻译"。
Translation= words.split("Translation:",1)[1]
if any(x in Translation for x in Markers):
print "found"
如何打印找到的实际字符串。我试过这个
Translation= words.split("Translation:",1)[1]
if any(x in Translation for x in Markers):
print x
但我不断收到错误。 Python新手。任何帮助将不胜感激。
答案 0 :(得分:3)
你不能用any
函数得到它,因为它返回一个布尔值。所以你需要像这样使用for
循环
for item in markers:
if item in translation:
print item
break
else:
print "Not Found"
如果你想获得所有匹配元素,那么你可以使用列表推导,比如
print [item for item in markers if item in translation]
作为Martijn suggested in the comments,我们可以简单地与
进行第一场比赛print next((x for x in markers if x in translation), None)
如果没有匹配,则会返回None
。
请注意,PEP-8建议我们不要用首字母大写来命名我们的局部变量。所以,我用小写字母命名。