[python] 조건문에서의 제너레이터 표현식 사용하기

이번에는 조건문에서의 제너레이터 표현식 사용에 대해 알아보겠습니다.

조건문과 제너레이터 표현식

조건문을 이용하여 제너레이터 표현식을 사용하면 특정 조건을 만족하는 값들만 제너레이터로 생성할 수 있습니다.

다음은 0부터 9까지의 숫자 중에서 짝수만을 제너레이터로 생성하는 예제입니다.

evens = (x for x in range(10) if x % 2 == 0)

이 예제에서는 0부터 9까지의 숫자를 생성하는 범위(range) 객체를 이용하여 10 미만의 숫자들에 대해 조건을 걸어 짝수인 경우에만 제너레이터로 생성하도록 했습니다.

이제 evens를 순회하면 0, 2, 4, 6, 8을 차례대로 반환합니다.

제너레이터 표현식과 조건문을 함께 사용하는 이유

제너레이터 표현식을 이용하여 조건문에 맞는 값을 게으르게 생성하는 것은 메모리를 효율적으로 활용할 수 있는 장점을 제공합니다. 특히 대용량의 데이터나 무한한 시퀀스를 다룰 때 유용합니다.

조건문을 추가하여 원하는 조건에 맞는 값을 추출하거나 특정 작업을 수행할 수 있으므로 상당히 유연한 사용이 가능합니다.

제너레이터 표현식과 조건문의 함께 사용은 코드를 간결하게 유지하면서도 필요한 값을 조건에 맞게 생성하는 효과적인 방법을 제공합니다.

참고문헌: