打印实际的字符串

时间:2014-05-22 09:52:52

标签: python string list list-comprehension

我有这个代码检查列表中的单词" 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新手。任何帮助将不胜感激。

1 个答案:

答案 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建议我们不要用首字母大写来命名我们的局部变量。所以,我用小写字母命名。