[python] 조건문에서의 리스트 컴프리헨션 사용하기

파이썬은 리스트 컴프리헨션을 사용하여 간결하고 가독성있는 코드를 작성할 수 있습니다. 리스트 컴프리헨션을 조건문과 함께 사용하면 더욱 강력한 기능을 활용할 수 있습니다.

기본 리스트 컴프리헨션

리스트 컴프리헨션을 사용하여 간단한 예제부터 시작해보겠습니다.

numbers = [1, 2, 3, 4, 5]
squared_numbers = [x**2 for x in numbers]
print(squared_numbers)  # 출력: [1, 4, 9, 16, 25]

위 예제에서는 numbers 리스트의 각 요소를 제곱하여 새로운 리스트 squared_numbers를 생성하였습니다.

조건부 리스트 컴프리헨션

이제 조건문을 추가하여 리스트 컴프리헨션을 더욱 유연하게 활용해보겠습니다.

numbers = [1, 2, 3, 4, 5]
even_numbers = [x for x in numbers if x % 2 == 0]
print(even_numbers)  # 출력: [2, 4]

위 예제에서는 numbers 리스트의 요소 중 짝수인 요소만으로 새로운 리스트 even_numbers를 생성하였습니다.

조건부 표현식 사용하기

리스트 컴프리헨션 내에서 조건부 표현식을 사용하여 좀 더 복잡한 조건을 다룰 수도 있습니다.

numbers = [1, 2, 3, 4, 5]
new_numbers = [x if x % 2 == 0 else x**2 for x in numbers]
print(new_numbers)  # 출력: [1, 2, 9, 4, 25]

위 예제에서는 numbers 리스트의 요소가 짝수이면 그대로, 홀수이면 제곱하여 새로운 리스트 new_numbers를 생성하였습니다.

이처럼 파이썬의 리스트 컴프리헨션은 조건문과 함께 사용하여 다양한 필터링 및 변환 작업을 수행할 수 있습니다.

참고 자료: 파이썬 공식 문서 - 리스트 컴프리헨션