Python에서 목록 이해 구문에는 언제 삼항 연산자가 필요합니까?

Patricia Arquette
풀어 주다: 2024-10-22 12:47:39
원래의
458명이 탐색했습니다.

When Does List Comprehension Syntax Require a Ternary Operator in Python?

목록 이해 수수께끼: Iterable의 조건부 필터링

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!