본문 바로가기
코딩 연습/파이썬 기초(예제)

리스트 컴프리헨션(List Comprehention) 연습

by good4me 2023. 3. 29.

goodthings4me.tistory.com

리스트 컴프리헨션은 파이썬 리스트를 생성할 수 있는 간단한 방법인데, 대괄호([ ]) 안에 for 루프 반복문이나 조건문을 사용하여 리스트를 생성할 수 있다.

 

 

리스트 컴프리헨션(List Comprehenstion)의 기본 형태 및 예제 코드

기본 형태는 [(변수) for (변수) in (시퀀스 등 순회할 수 있는 값)]

## 파이썬 리스트 만들기
int_lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

## 리스트 컴프리헨션으로 만들기
intLst = [i for i in range(1, 11)]
print(intLst)
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

evenLst = [i for i in int_lst if i % 2 == 0]
print(even_lst)
# [2, 4, 6, 8, 10]

evenLst2 = [i ** 2 for i in intLst if i % 2 != 0]
print(evenLst2)
# [1, 9, 25, 49, 81]

# 1~ 10까지의 수를 제곱한 리스트
squares = [n**2 for n in range(1, 11)]

# 짝수인 경우, 두 배로 만든 리스트 생성
dbld_evens = [2*n for n in range(1, 10)]

# 문자열의 길이가 4보다 큰 문자를 대문자로 만드는 리스트
words = ['hello', 'world', 'python', 'banana']
uppercase = [word.upper() for word in words if len(word) > 4]

 

good4me.co.kr

 

파이썬에서 최고의 효율을 보여주는 리스트 컴프리헨션은 

  • 루프나 조건문 등의 복잡한 구조의 코드를 간결하고 가독성 있게 해주는 강력한 기능 중 하나이고,
  • 함수형 프로그래밍에서 많이 사용되는 파이썬 고급 기능 중 하나이며,
  • 빠른 속도를 제공한다.
  • 다만, 복잡한 로직인 경우에는 가독성이 떨어지고 한 번에 전체 리스트를 생성하기 때문에 큰 리스트에 사용할 때는 메모리 사용량이 높아질 수 있다. 

 

댓글