我有这段代码,用于检查在字符串“ 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/

10-17 01:50