성장일기/파이썬

[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까지의 숫자 중에서 짝수만을 선택하여 새로운 리스트를 만드는 역할을 합니다.

반응형