Python의 any() 및 all() 함수 이해
Python의 내장 함수인 any() 및 all(), play iterable 내에서 값의 진실성을 평가하는 데 중요한 역할을 합니다. 이러한 함수는 여러 조건을 테스트하는 간결하고 효율적인 방법을 제공합니다.
any() 함수
any()는 iterable의 모든 요소가 True인지 여부를 결정합니다. 단일 True 값이라도 있으면 True를 반환합니다. 그렇지 않으면 False를 반환합니다.
예:
my_list = [0, False, 'Hello', 1, ''] print(any(my_list)) # Outputs True as 'Hello' and 1 are True
all() 함수
all(), on 반면에 iterable의 모든 요소가 True인지 확인합니다. 모든 요소가 True인 경우에만 True를 반환합니다. 그렇지 않으면 False를 반환합니다.
예:
my_list = [True, 1, 'True'] print(all(my_list)) # Outputs True as all elements are True
진실성과 논리적 평가
any() 및 모두 ()는 본질적으로 각각 논리 OR 및 AND 연산을 수행합니다. 그들의 진실성 행동을 이해하는 것은 필수적입니다.
진실표:
Iterable Values | any() | all() |
---|---|---|
All True | True | True |
All False | False | False |
Mixed True and False | True | False |
Empty Iterable | False | True |
코드 이해
코드에서, any()와 all()의 조합을 활용하여 튜플의 값이 다른지 확인하면서 모든 값이 다른지 확인합니다. 가치관이 다릅니다. 그러나 코드 평가의 오해로 인해 예상한 출력을 얻지 못했습니다.
d = defaultdict(list) print(list(zip(*d['Drd2']))) # [(1, 1), (5, 6), (0, 0)] print([any(x) and not all(x) for x in zip(*d['Drd2'])]) # [False, False, False]
이 경우 any(x)는 튜플의 값이 다른지(예: True) 확인합니다. all(x)는 모든 값이 다르지 않음(예: False)을 보장합니다. (1, 1), (5, 6) 및 (0, 0)은 모두 서로 다른 값을 가지므로 세 튜플을 모두 [False, False, False]로 올바르게 평가합니다.
원하는 출력을 얻으려면 , 다음과 같이 코드를 수정할 수 있습니다.
print([x[0] != x[1] for x in zip(*d['Drd2'])]) # [False, True, False]
이는 각 튜플의 첫 번째 요소와 두 번째 요소가 다른지 직접 확인하여 예상되는 출력을 가져옵니다. [거짓, 참, 거짓].
위 내용은 Python의 `any()` 및 `all()` 함수는 Iterable의 효율적인 진실성 평가를 위해 어떻게 작동합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!