Python에서 목록 이해는 기존 반복 가능 항목을 기반으로 목록을 생성하는 간결한 방법을 제공합니다. 그러나 if 문과 관련된 목록 이해와 관련하여 질문이 생겼습니다.
목표는 두 개의 반복 가능한 항목 a와 b를 비교하고 두 항목 모두에 나타나는 요소만 인쇄하는 것이었습니다. 의도한 코드는 다음과 같습니다.
<code class="python">print([y if y not in b for y in a])</code>
안타깝게도 이 코드에서는 구문 오류가 발생했습니다. 문제는 if-else 구성의 순서에 있습니다. Python에서 조건문은 삼항 연산자로 사용되지 않는 한 목록 이해에서 for 루프 뒤에 와야 합니다.
올바른 구문:
<code class="python">[y for y in a if y not in b]</code>
이 코드는 반복됩니다. a의 각 요소 y를 통해 b에서 y를 찾을 수 없으면 목록에 추가됩니다. 결과 목록에는 a와 b에 모두 나타나는 요소가 포함됩니다.
대체 삼항 연산자 구문:
<code class="python">[y if y not in b else other_value for y in a]</code>
이 코드는 삼항 연산자를 사용하여 b에서 y를 찾을 수 없는 경우 대체 값(other_value)입니다. 이 접근 방식은 덜 일반적이며 일반적으로 기본값이 필요할 때 사용됩니다.
위 내용은 Python에서 목록 이해 구문에는 언제 삼항 연산자가 필요합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!