我有这段代码,用于检查在字符串“ Translation”中是否可以找到“标记”列表中的单词。
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的新手。任何帮助将不胜感激。
最佳答案
您不能使用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建议我们不要使用大写字母来命名局部变量。因此,我用小写字母命名。
关于python - 打印找到的实际字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23803384/