본문 바로가기
Python/Python 개념

파이썬 - list comprehension

by hyun-am 2020. 5. 24.

List Comprehension

List Comprehension이란

List Comprehension은 기존의 리스트에 기반한 리스트를 만들기 위해 일부 프로그래밍 언어에서 사용 가능한 문법적 구조입니다.

for문의 구조를 기본적으로 가지고 있고 List를 사용합니다.

 

List Comprehension을 사용하기전

List Comprehension을 사용하기전에 저희들은 if문이나 filter, map을 통해 list를 변형시켰습니다.

예제 코드는 아래와 같습니다.

먼저 1부터 10까지 자연수 중에서 3을 약수로 가지지 않은 수를 제외시키는 List 입니다.

 

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

three = []

for i in x:
    if i % 3 == 0:
        three.append(i)

print(three)

## 출력 값

# [3, 6, 9]

 

List Comprehension을 사용한 후

이제 List Comprehension을 사용하면 식을 더욱 짧게 입력할 수 있습니다.

위에 코드를 아래처럼 표현할 수 있습니다.

 

x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
three = [i for i in x if i%3 == 0]
print(three)

## 출력 값
# [3,6,9]

 

이 처럼 주고싶은 조건문을 [ i for i in x if _____________]

여기서 x 뒤에가 조건문을 통해 필터를 만들 수 있습니다. 또한 변수를 가공하고 싶으면 for 앞에있는 i에 식을 넣어 주어서 계산합니다.

응용 예제

1부터 100까지의 수 중에서 12로 나누어 지는 수를 모두 5씩 곱하는 리스트를 만들기

 

x = list(range(1,101))
test = [i*5 for i in x if i % 12 ==0]
print(test)

## 출력 값 
# [60, 120, 180, 240, 300, 360, 420, 480]

'Python > Python 개념' 카테고리의 다른 글

파이썬 - 데코레이터  (0) 2020.09.14
파이썬 문자열 다루기  (1) 2020.05.25
파이썬 - 모듈 Import  (1) 2020.03.30
파이썬 Lambda함수  (0) 2020.03.29
파이썬 - 함수(심화)  (0) 2020.03.29

댓글