>  기사  >  백엔드 개발  >  List Comprehension에 if 문을 올바르게 배치하는 방법은 무엇입니까?

List Comprehension에 if 문을 올바르게 배치하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-22 13:33:02774검색

How to Correctly Place an if Statement in a List Comprehension?

if 문을 사용한 List Comprehension의 구문 오류

제공된 List Comprehension에서:

<code class="python">print([ y if y not in b for y in a])</code>

다음과 같은 문제가 발생했습니다. "^" 기호로 표시되는 구문 오류입니다. 오류는 컴프리헨션 내에서 if 문을 잘못 배치했기 때문에 발생합니다.

if 조건이 있는 목록 컴프리헨션의 올바른 구문은 다음과 같습니다.

<code class="python">[expression for item in iterable if condition]</code>

귀하의 경우 조건은 다음과 같습니다. for 문 뒤에 배치됩니다.

<code class="python">print([y for y in a if y not in b])</code>

이 수정된 Comprehension은 a의 요소를 반복하고, 각 요소가 b에 포함되어 있지 않은지 평가하고, 결과 목록에 조건을 충족하는 요소만 포함합니다. . 이 코드의 출력은 원하는 대로 ['r']입니다.

또한 if-else 삼항 연산자를 사용하여 조건을 만족하지 않는 요소에 대체 값을 제공할 수 있습니다.

<code class="python">print([y if y not in b else None for y in a])</code>

이 컴프리헨션은 'q'가 a와 b에 모두 포함되어 있으므로 'r'과 None을 포함하는 목록을 반환합니다.

위 내용은 List Comprehension에 if 문을 올바르게 배치하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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