[파이썬] 리스트의 조건부 컴프리헨션

리스트 컴프리헨션에 조건을 추가하여 조건부 컴프리헨션을 구현할 수도 있습니다. 이는 조건을 만족하는 항목의 리스트를 생성하는데 유용합니다.

아래는 간단한 예제입니다. 1부터 10까지의 숫자 중에서 짝수만을 리스트로 생성하는 조건부 컴프리헨션입니다.

even_numbers = [x for x in range(1, 11) if x % 2 == 0]
print(even_numbers)

위 코드를 실행하면 [2, 4, 6, 8, 10]가 출력됩니다.

위의 예제에서는 x % 2 == 0이라는 조건을 추가하여 x가 짝수인 경우만 리스트에 포함될 수 있도록 하였습니다. 이런 식으로 조건을 추가하여 필터링하는 것이 조건부 컴프리헨션의 기능입니다.

조건부 컴프리헨션은 리스트뿐만 아니라 다른 iterable 객체에도 적용할 수 있습니다. 예를 들어, 문자열의 각 문자 중에서 소문자만을 선택하는 경우에도 조건부 컴프리헨션을 사용할 수 있습니다.

sentence = "The quick brown fox jumps over the lazy dog"
lowercase_letters = [char for char in sentence if char.islower()]
print(lowercase_letters)

위 코드를 실행하면 ['h', 'e', 'q', 'u', 'i', 'c', 'k', 'b', 'r', 'o', 'w', 'n', 'f', 'o', 'x', 'j', 'u', 'm', 'p', 's', 'o', 'v', 'e', 'r', 't', 'h', 'e', 'l', 'a', 'z', 'y', 'd', 'o', 'g']가 출력됩니다.

조건부 컴프리헨션은 복잡한 조건문과 함께 사용하여 더욱 다양한 필터링이 가능합니다. 이를 통해 코드를 좀 더 간결하고 가독성이 좋도록 작성할 수 있습니다.