Python에서 List Comprehension은 특정 조건을 적용하면서 기존 반복 가능 항목을 기반으로 새 목록을 생성하는 간결한 방법을 제공합니다. 두 개의 반복 가능 항목을 비교하고 두 목록에 모두 존재하는 항목만 인쇄하려고 하면 다음 오류가 발생할 수 있습니다.
print([ y if y not in b for y in a])
위 코드는 첫 번째 반복 가능 항목(a)을 반복하고 항목을 인쇄하기 위한 것입니다. 두 번째 반복 가능 항목(b)에서는 찾을 수 없습니다. 그러나 if 문 위치가 잘못되어 "잘못된 구문" 오류가 발생합니다.
if 문이 포함된 리스트 컴프리헨션의 올바른 구문은 for 절이 if 조건 앞에 오게 하는 것입니다. 따라서 원하는 결과를 얻기 위한 올바른 코드는 다음과 같습니다.
[y for y in a if y not in b]
또는 두 번째 반복 가능 항목에서 발견되지 않은 항목에 대해 다른 값을 인쇄하는 것이 목표인 경우 if-else 삼항 연산자를 사용할 수 있습니다. :
[y if y not in b else other_value for y in a]
위 내용은 Python List Comprehension에서 If 문을 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!