본문 바로가기

카테고리 없음

파이썬 리스트 컴프리핸션(List Comprehension)

파이썬에는 리스트를 한 줄의 코드로 손쉽게 만들 수 있는 list comprehension이라는 문법이 있습니다. 기존의 반복 가능한 객체를 활용해서 새로운 리스트를 만들고 싶을 때 유용합니다. 예를 들어 range를 이용하여 1부터 10까지의 숫자가 담긴 리스트를 만들어 보겠습니다. ① for문을 사용하는 경우, ② 리스트 컴프리핸션을 사용하는 경우입니다.

 

for문을 사용해서 리스트를 만들기 

for문을 이용해 새로운 리스트를 만든다면 다음과 같은 과정이 필요합니다.

- 빈 리스트를 생성한다.

- iterable 한 객체의 요소를 반복한다.

- 빈 리스트에 결과를 추가한다.

 

numbers = []
for i in range(1,11):
  numbers.append(i)

print(numbers)
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

 

list comprehension을 이용해서 리스트 만들기 

리스트 컴프리핸션으로는 단 한 줄의 코드로 손쉽게 만들 수 있습니다.

 

numbers = [i for i in range(1,11)]
print(numbers)

# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

 

list comprehension 문법

가장 기본적인 형태 : [expression for element in iterable]

조건문이 추가된 형태 : [expression for element in iterable if condition]

 

 

조건문이 추가된 list comprehension 

조건문을 추가하여 특정 값들만 리스트에 담을 수도 있습니다. 위의 예제를 약간 변형하여 1부터 10까지 숫자에서 홀수만 담은 리스를 만들어 보겠습니다.

 

numbers = [i for i in range(1,11) if i%2 == 1]
print(numbers)

# [1, 3, 5, 7, 9]

 

 

- 이 글은 아나콘다(Anaconda3)가 설치된  주피터 노트북에서 작성되었습니다.