답변:
이 구문을 사용할 수 있습니다 :
if myItem in list:
# do something
또한 역 연산자 :
if myItem not in list:
# do something
목록, 튜플, 세트 및 dicts (체크 키)에 적합합니다.
참고 이 튜플리스트의 O (n)를 연산하고,하지만 세트 dicts에서 O (1) 동작.
o='--skip'; o in ("--skip-ias"); # returns True !
("--skip-ias")
터플이 아니라 문자열 이기 때문에 일치 합니다 (괄호 (1)
는 정수 와 마찬가지로 아무것도하지 않습니다 ). 1- 튜플을 원하면 단일 항목 뒤에 쉼표를 추가해야합니다 ("--skip-ias",)
(또는 (1,)
).
다른 사람들이 말한 것 외에도 메소드 in
를 호출 하는 것이 무엇인지 알고 관심이있을 수 있습니다.이 list.__contains__
클래스는 클래스를 정의하고 파이썬을 최대한 활용하는 데 매우 편리합니다.
바보 같은 용도는 다음과 같습니다.
>>> class ContainsEverything:
def __init__(self):
return None
def __contains__(self, *elem, **k):
return True
>>> a = ContainsEverything()
>>> 3 in a
True
>>> a in a
True
>>> False in a
True
>>> False not in a
False
>>>
True
목록에 항목이 여러 번 False
포함되어 있는지 , 또는 항목이 없거나 전혀 포함되어 있지 않은 경우이 라이너를 최근에 생각해 냈습니다 . 를 사용 next(...)
하면 기본 반환 값 ( False
) 이 제공 되며 전체 목록 이해를 실행하는 것보다 훨씬 빠르게 실행됩니다.
list_does_contain = next((True for item in list_to_test if item == test_item), False)
any(item == test_item for item in list_to_test)
나도 작동 할 것 같아요?