B06.파이썬 리스트 컴프리헨션

학습 목표

이번 강의에서는 리스트 컴프리헨션(list comprehension)의 개념과 사용법을 배웁니다. 리스트 컴프리헨션을 사용하여 리스트를 간결하고 효율적으로 생성하는 방법을 익히고, 기존의 방법과 비교하여 어떤 이점이 있는지 이해합니다.

개념 설명

리스트 컴프리헨션은 기존의 리스트나 반복문을 사용하여 새로운 리스트를 생성하는 방법입니다. 일반적인 리스트 생성 방법보다 코드가 더 간결하고 읽기 쉬워집니다. 리스트 컴프리헨션의 기본 구조는 다음과 같습니다:

new_list = [expression for item in iterable if condition]

여기서 expression은 각 항목에 대해 평가할 표현식이고, itemiterable의 각 요소, condition은 선택적 조건입니다.

예제 코드

# 일반적인 방법으로 리스트 생성
squares = []
for x in range(10):
    squares.append(x**2)

print("0부터 9까지의 제곱수 (일반 방법):", squares)

# 리스트 컴프리헨션을 사용한 방법
squares_comp = [x**2 for x in range(10)]

print("0부터 9까지의 제곱수 (리스트 컴프리헨션):", squares_comp)

# 조건부 리스트 컴프리헨션을 사용한 예
even_squares = [x**2 for x in range(10) if x % 2 == 0]  # 짝수의 제곱만 생성
print("0부터 9까지의 짝수 제곱수:", even_squares)

코드 설명

위 코드는 리스트 컴프리헨션의 사용 예제를 포함합니다. 첫 번째 블록은 일반적인 방법으로 0부터 9까지의 제곱수를 리스트에 추가하는 코드입니다. 두 번째 블록은 동일한 결과를 리스트 컴프리헨션을 사용하여 간결하게 작성한 것입니다. 세 번째 블록에서는 조건부 리스트 컴프리헨션을 사용하여 0부터 9까지의 짝수의 제곱만을 포함하는 리스트를 생성합니다.

연습 문제

1. 리스트 컴프리헨션을 사용하여 1부터 20까지의 홀수를 포함하는 리스트를 생성하는 코드를 작성해 보세요.

2. 문자열에서 모음(a, e, i, o, u)만을 필터링하여 새로운 리스트를 생성하는 리스트 컴프리헨션을 작성해 보세요.

연습 문제 해답

# 1번 문제: 1부터 20까지의 홀수 리스트 생성
odd_numbers = [x for x in range(1, 21) if x % 2 != 0]
print("1부터 20까지의 홀수:", odd_numbers)

# 2번 문제: 문자열에서 모음만 필터링
sentence = "Hello, this is an example sentence."
vowels = [char for char in sentence if char.lower() in 'aeiou']
print("문장에서 찾은 모음:", vowels)
### 설명 - **리스트 컴프리헨션의 기본 개념을 설명**하고, 이를 사용하여 리스트를 효율적으로 생성하는 방법을 보여줍니다. - 리스트 컴프리헨션은 코드의 가독성을 높이고, 짧은 코드로 동일한 기능을 구현할 수 있는 장점이 있습니다. - **연습 문제**를 통해 사용자가 직접 리스트 컴프리헨션을 활용하여 데이터를 처리하는 방법을 실습해볼 수 있습니다.

댓글 쓰기

0 댓글