성장일기/파이썬
[python] 리스트 컴프리헨션(List Comprehension)이란
지추월자
2023. 7. 21. 10:12
반응형
even_numbers = [i for i in range(1, 11) if i % 2 == 0]
리스트 컴프리헨션은 한 줄의 코드로 표현되는 간결한 방법으로, 반복문과 조건문을 이용하여 리스트를 생성합니다.
리스트 컴프리헨션의 일반적인 구조는 다음과 같습니다:
[표현식 for 항목 in 반복 가능 객체 if 조건문]
- for 항목 in 반복 가능 객체: 이 부분은 일반적인 for 반복문과 같습니다. in 다음에 오는 '반복 가능 객체'는 리스트, 튜플, 집합, 사전, 문자열, range 등이 될 수 있습니다. 이 반복문은 '반복 가능 객체'의 각 원소에 대해 반복을 수행합니다.
- 표현식: 이 부분은 각 반복에서 실행되는 코드입니다. 보통 '항목'을 이용하여 어떤 계산을 수행하고, 그 결과를 새 리스트에 추가합니다.
- if 조건문: 이 부분은 선택적으로 사용할 수 있습니다. 만약 주어지면, 각 반복에서 이 조건문을 평가하고, 참(True)인 경우에만 '표현식'을 실행하여 결과를 새 리스트에 추가합니다.
예를 들어, 1부터 10까지의 수 중에서 짝수만을 담은 리스트를 만드는 리스트 컴프리헨션은 다음과 같이 작성할 수 있습니다
even_numbers = [i for i in range(1, 11) if i % 2 == 0]
이 코드를 분해해서 보면 다음과 같습니다:
- for i in range(1, 11): 1부터 10까지의 숫자 각각에 대해 반복을 수행합니다.
- i % 2 == 0: 각 숫자 i가 짝수인지 확인합니다. (i를 2로 나눈 나머지가 0인지 확인)
- i: 만약 위의 조건문이 참(True)이라면, 해당 숫자 i를 새 리스트에 추가합니다.
따라서, 위의 리스트 컴프리헨션은 1부터 10까지의 숫자 중에서 짝수만을 선택하여 새로운 리스트를 만드는 역할을 합니다.
반응형