将字符串与列表中的单词匹配

时间:2013-02-28 04:50:28

标签: python string list

我有一个后缀列表,我想检查我的单词是否以其中任何一个结尾,如果是,我想打印它,我正在做以下事情:

if(string.endswith(any(word in my_list))):
        print string
        print" "
        print word

my_list是后缀列表。当我运行它时,它会给我一个错误,说'name'这个名字没有定义

1 个答案:

答案 0 :(得分:7)

any返回一个布尔值。 str.endswith需要字符串或tuple字符串。

您可能需要以下内容:

if s.endswith(tuple(my_list)):
   print string

或者如果你真的想知道它匹配哪一个:

suffix = next((word for word in my_list if s.endswith(word)),False)
if suffix:
    print word, suffix