>백엔드 개발 >파이썬 튜토리얼 >튜플을 비교할 때 Python의 `any()` 및 `all()` 함수는 어떻게 작동합니까?

튜플을 비교할 때 Python의 `any()` 및 `all()` 함수는 어떻게 작동합니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-09 20:04:15591검색

How Do Python's `any()` and `all()` Functions Behave When Comparing Tuples?

Python의 모든 함수 작동 방식

튜플을 비교할 때 any() 및 all() 내장 함수가 모두 포함됩니다. 놀다. 차이점은 다음과 같습니다.

any()

any()는 반복 가능 요소 중 하나 이상이 Truthy(즉, False가 아님, 0, '', 등).

all()

all()은 iterable의 모든 요소가 Truthy인 경우에만 True를 반환합니다.

사용 사례 이해

코드 조각에서 제공됨:

print [any(x) and not all(x) for x in zip(*d['Drd2'])]

zip(*d['Drd2'])의 각 튜플은 all(x)이 아닌 any(x)의 컨텍스트에서 평가됩니다. 그러나 예상치 못한 [False, False, False] 출력은 의문을 제기합니다.

오류 해석

모든 것에 대한 진리표에 따라:

any(x) all(x) any(x) and not all(x)
True False True
False True False
True True False
False False False

이 경우 모든 튜플은 동일한 숫자(예: 참값)로 구성되므로 any(x)는 항상 True이고 all(x)도 True입니다. 결과적으로 any(x) 및 not all(x)는 항상 False로 평가되어야 하며 이는 출력에 반영되지 않습니다.

오류 원인

오류는 다음과 같습니다. (x[0] != x[1])이 진실한 표현일 것이라는 잘못된 기대에서. 그러나 튜플의 숫자가 동일한 경우(예: (1, 1)), (x[0] != x[1])은 False로 평가됩니다.

올바른 논리

튜플 내의 값이 다른지 정확하게 확인하려면 다음을 사용할 수 있습니다. 논리:

print [x[0] != x[1] for x in zip(*d['Drd2'])]

이 표현식은 각 튜플의 해당 요소를 올바르게 비교하여 의도한 대로 차이점을 식별합니다.

위 내용은 튜플을 비교할 때 Python의 `any()` 및 `all()` 함수는 어떻게 작동합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.