Python endswith()有多个字符串

15 python python-2.7 python-3.x ends-with

我有一个字符串:

myStr = "Chicago Blackhawks vs. New York Rangers"
Run Code Online (Sandbox Code Playgroud)

我也有一个清单:

myList = ["Toronto Maple Leafs", "New York Rangers"]
Run Code Online (Sandbox Code Playgroud)

使用endswith()方法,我想写一个if语句,检查myString是否以myList中的任何一个字符串结尾.我有基本的if语句,但我对我应该在括号中加入来检查这个问题感到困惑.

if myStr.endswith():
    print("Success")
Run Code Online (Sandbox Code Playgroud)

Kas*_*mvd 27

endswith()接受一个后缀元组.您可以将列表转换为元组,也可以在第一个位置使用元组:

>>> myStr = "Chicago Blackhawks vs. New York Rangers"
>>> 
>>> my_suffixes = ("Toronto Maple Leafs", "New York Rangers")
>>> 
>>> myStr.endswith(my_suffixes)
True
Run Code Online (Sandbox Code Playgroud)

str.endswith(suffix [,start [,end]])

如果字符串以指定的后缀结束,则返回True,否则返回False.后缀也可以是要查找的后缀元组.通过可选的启动,从该位置开始测试.使用可选结束,停止在该位置进行比较.

  • @CalebRudnicki 确实如此。你可以做“if myStr.endswith(tuple(myList)):” (2认同)

gtl*_*ert 10

您可以使用关键字any

if any(myStr.endswith(s) for s in myList):
    print("Success")
Run Code Online (Sandbox Code Playgroud)