여러 변수를 단일 값으로 비교
문제 설명:
방법 찾기 여러 변수가 특정 정수와 같은지 확인하고 이어서 세 글자로 구성된 문자열을 생성하는 Python. 예를 들어,
x = 0 y = 1 z = 3 mylist = [] if x or y or z == 0: mylist.append("c") if x or y or z == 1: mylist.append("d") if x or y or z == 2: mylist.append("e") if x or y or z == 3: mylist.append("f")
...예상되는 출력은 ["c", "d", "f"] 목록입니다.
답변:
제공된 코드는 Python의 부울 표현식을 오해합니다. or 연산자는 각 측면을 개별적으로 검사하여 다음과 같은 평가 결과를 얻습니다.
(x == False or y == False) or (y == False or z == False)
최소 하나의 변수가 원하는 정수와 같은지 확인하려면 다음 표현식을 사용하세요.
if 1 in (x, y, z): ....
또는 , 개선을 위해 효율성:
if 1 in {x, y, z}: ....
설명:
Python에서는 연산자의 우선순위가 높으며, or 연산자는 같음(=)보다 우선순위가 낮습니다. 따라서 평등이 먼저 평가됩니다. 또한 or 연산자는 처음으로 발견된 진실한 값을 반환합니다. 즉, 코드 시퀀스:
x or y or z == 0
는 y 또는 z가 0이더라도 x가 0이 아니면 False를 반환합니다. 단일 값에 대해 여러 변수를 올바르게 평가하려면 다음과 같은 표현식을 사용하세요.
x == 1 or y == 1 or z == 1
위 내용은 여러 Python 변수를 단일 정수 값과 효율적으로 비교하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!