问题
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