str.startswith with a list of strings to test for
list, python, string
Solution
`str.startswith` allows you to supply a tuple of strings to test for:
if link.lower().startswith(("js", "catalog", "script", "katalog")):
From the docs:
`str.startswith(prefix[, start[, end]])`
Return `True` if string starts with the `prefix`, otherwise return `False`. `prefix` can also be a tuple of prefixes to look for.
Below is a demonstration:
>>> "abcde".startswith(("xyz", "abc"))
True
>>> prefixes = ["xyz", "abc"]
>>> "abcde".startswith(tuple(prefixes)) # You must use a tuple though
True
>>>
Problem
I'm trying to avoid using so many comparisons and simply use a list, but not sure how to use it with `str.startswith`: ``` if link.lower().startswith("js/") or link.lower().startswith("catalog/") or link.lower().startswith("script/") or link.lower().startswith("scripts/") or link.lower().startswith("katalog/"): # then "do something" ``` What I would like it to be is: ``` if link.lower().startswith() in ["js","catalog","script","scripts","katalog"]: # then "do something" ``` Is there a way to do this?