[파이썬] 리스트의 필터링과 조건부 순회

파이썬에서는 리스트를 필터링하거나 조건부로 순회할 수 있는 다양한 방법을 제공합니다. 이 기능들은 데이터 처리 및 조작에 유용하며, 코드를 간결하게 작성할 수 있도록 도와줍니다. 이번 글에서는 파이썬에서 리스트를 필터링하고 조건부로 순회하는 방법에 대해 알아보겠습니다.

리스트 필터링(Filtering a list)

리스트를 필터링한다는 것은 원하는 조건을 만족하는 요소만을 남기는 작업을 말합니다. 파이썬에서는 리스트 컴프리헨션(List Comprehension)을 사용하여 간단하고 효율적으로 이 작업을 수행할 수 있습니다.

다음은 1부터 10까지의 숫자 중에서 짝수만을 필터링하는 예제입니다.

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = [num for num in numbers if num % 2 == 0]
print(even_numbers)  # 출력: [2, 4, 6, 8, 10]

위 코드에서 even_numbers라는 새로운 리스트를 생성하였습니다. 이 리스트는 numbers 리스트의 각 요소를 순회하면서, 조건문 num % 2 == 0을 만족하는 요소만을 포함하게 됩니다.

리스트 컴프리헨션은 반복문과 조건문을 결합하여 다양한 필터링 기능을 구현하는 데 유용합니다. 필터링 조건을 변경하거나 추가할 때도 간편하게 코드를 수정할 수 있습니다.

조건부 순회(Conditional iteration)

조건부 순회란 리스트의 요소를 조건에 따라 순회하거나 건너뛰는 작업을 말합니다. 파이썬에서는 continue 문과 break 문을 사용하여 이러한 작업을 수행할 수 있습니다.

다음은 1부터 10까지의 숫자 중에서 홀수인 경우에만 출력하는 예제입니다.

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for num in numbers:
    if num % 2 == 0:
        continue
    print(num)

위 코드에서 continue 문은 현재 순회 중인 요소가 홀수인 경우에만 실행되며, 짝수인 경우에는 다음 순회로 건너뛰게 됩니다. 따라서 출력 결과는 1, 3, 5, 7, 9가 됩니다.

break 문은 조건을 만족하는 요소를 만나면 더 이상 순회를 진행하지 않고 반복문을 종료시킵니다. 이를 활용하여 특정 조건을 만족하는 첫 번째 요소를 찾는 등의 작업을 수행할 수 있습니다.

리스트의 필터링과 조건부 순회는 많은 데이터 처리 작업에서 자주 사용되는 기능입니다. 파이썬은 위와 같은 간결하고 효율적인 방법을 제공하여 개발자가 작업을 쉽게 수행할 수 있도록 돕습니다.