Python endswith() with multiple string

左心房为你撑大大i 提交于 2019-11-30 23:06:28

问题


I have a string:

myStr = "Chicago Blackhawks vs. New York Rangers"

I also have a list:

myList = ["Toronto Maple Leafs", "New York Rangers"]

Using the endswith() method, I want to write an if statement that checks to see if the myString has ends with either of the strings in the myList. I have the basic if statement, but I am confused on what I should put in the parentheses to check this.

if myStr.endswith():
    print("Success")

回答1:


endswith() accepts a tuple of suffixes. You can either convert your list to a tuple or just use a tuple at the first place:

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

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

Return True if the string ends with the specified suffix, otherwise return False. suffix can also be a tuple of suffixes to look for. With optional start, test beginning at that position. With optional end, stop comparing at that position.




回答2:


You could use the keyword any:

if any(myStr.endswith(s) for s in myList):
    print("Success")



回答3:


You may do it like this :)

for i in myList:
    if myStr.endswith(i):
        print(myStr + " Ends with : " + i)


来源:https://stackoverflow.com/questions/35510787/python-endswith-with-multiple-string

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!