반응형
Python 에서 List내 값을 비교하는 방법으로 가장 간편하게 사용할 수 있는 기능은 바로 in이다.
a = ['aa', 'aaa', 'aaaa']
if 'a' in a:
print(True)
다만 이 비교는 실제로 contains으로 동작한다. 즉 a, aa, aaa에 모두 대응하게 되는 것이다.
따라서 정확히 동일한 값을 비교하는 것이 아니기 때문에 종종 사용할 때 문제가 발생한다.
이때 사용할 수 있는 유용한 매직 메소드 any가 있다.
any 매직 메소드는 하나라도 맞는 결과가 있다면 True를 반환하게된다.
즉 아래와 같이 'a'와 동일한 결과가 있다면, True를 얻을 수 있기 때문에 in 으로 인해 동일 값이 없는데 True를 반환하는 문제를 제거할 수 있다.
a = ['aa', 'aaa', 'aaaa']
any(value == 'a' for value in a)
그렇다면 all 은 어떻게 사용하는 것일까?
all은 모든 결과가 동일한지를 확인한다. 즉 모두 동일한 값인지를 확인하는 용도로 사용할 수 있다.
'Python' 카테고리의 다른 글
Python - FastApi Cross-Origin Resource Sharing (CORS) 이해/해결 (0) | 2022.07.25 |
---|---|
Python - __init__ arguments invalid 초기 파라미터 체크 (0) | 2022.07.22 |
Python - 지능형 리스트(List Comprehension) 이해 (0) | 2022.07.15 |
Python - 자주 사용되는 IP, SHA256, SHA1, MD5, URL - Regex 패턴 (0) | 2022.07.14 |
Python - SSL Certificate 에러 해결, Trust Host 자동 지정 (0) | 2022.06.27 |
댓글0