조건 추가하기
Coddy Python 여정의 Logic & Flow 섹션에 포함된 레슨 — 78개 중 52번째.
리스트 컴프리헨션(List comprehensions)은 조건부 로직을 추가할 때 더욱 강력해집니다. 이를 통해 기존 리스트를 기반으로 새로운 리스트를 생성하고, 지정된 조건에 따라 요소를 필터링하거나 변형할 수 있습니다.
리스트 컴프리헨션에 조건을 추가하는 구문은 다음과 같습니다:
new_list = [expression for item in iterable if condition]구문에 대한 설명은 다음과 같습니다:
new_list: 생성될 새로운 리스트입니다.
expression:new_list에 포함될 값입니다. 이것은item의 수정된 버전일 수 있습니다.
for item in iterable:iterable(예: 리스트, 튜플 또는 범위)의 각 요소를 반복하는 루프입니다.
item: 루프에서 처리 중인 현재 요소입니다.
if condition: 현재item이new_list에 포함되어야 하는지를 결정하는 필터입니다.condition이True인 경우에만expression이 평가됩니다.
다음은 예시입니다:
numbers = [1, 2, 3, 4, 5, 6]
evens = [n for n in numbers if n % 2 == 0]
print(evens)
# 출력: [2, 4, 6]이 예제에서 리스트 컴프리헨션은 numbers 리스트에서 각 요소 n을 가져와 짝수인 경우에만(즉, n % 2 == 0) 포함하여 evens라는 새로운 리스트를 생성합니다.
챌린지
쉬움filter_and_square라는 이름의 함수를 작성하세요. 이 함수는 숫자 리스트인 numbers를 인자로 받습니다. 이 함수는 리스트 컴프리헨션을 사용하여 원본 리스트의 숫자 중 양수만을 제곱한 값들로 구성된 새 리스트를 생성해야 합니다. 함수는 이 새 리스트를 반환해야 합니다.
치트 시트
조건부 로직을 사용한 리스트 컴프리헨션(List comprehensions)을 사용하면 지정된 조건에 따라 요소를 필터링하고 변환할 수 있습니다:
new_list = [expression for item in iterable if condition]expression: 새 리스트에 포함될 값for item in iterable: 각 요소를 반복if condition: 항목 포함 여부를 결정하는 필터
예제 - 짝수 필터링:
numbers = [1, 2, 3, 4, 5, 6]
evens = [n for n in numbers if n % 2 == 0]
print(evens)
# 출력: [2, 4, 6]직접 해보기
def filter_and_square(numbers):
# 여기에 코드를 작성하세요이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.