너무 많은 if 문과 비교를 사용하지 않고 단순히 목록을 사용하려고하지만 목록과 함께 사용하는 방법을 잘 모르겠습니다 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"
내가 원하는 것은 다음과 같습니다.
if link.lower().startswith() in ["js","catalog","script","scripts","katalog"]:
# then "do something"
도움을 주시면 감사하겠습니다.
답변
str.startswith
테스트 할 문자열 튜플을 제공 할 수 있습니다.
if link.lower().startswith(("js", "catalog", "script", "katalog")):
로부터 문서 :
str.startswith(prefix[, start[, end]])
반환
True
와 캐릭터가 시작될 경우prefix
, 그렇지 않으면 반환False
.prefix
찾을 접두사의 튜플 일 수도 있습니다.
아래는 데모입니다.
>>> "abcde".startswith(("xyz", "abc"))
True
>>> prefixes = ["xyz", "abc"]
>>> "abcde".startswith(tuple(prefixes)) # You must use a tuple though
True
>>>