본문 바로가기
Python

파이썬 필수 템! 리스트 컴프리헨션(지능형리스트)

by 토니초이 2023. 3. 15.

c언어도 아니고 Python을 쓰는데

그저그런 평범한 for문은 절대 사용하기가 싫을때

꼭 이녀석을 사용해주어야 한다.

 

바로 List Comprehension (리스트컴프리헨션/지능형리스트) 요놈이다.

특정 시퀀스를 사용하여 새로운 리스트를 만들 때 사용하는 녀석인데, 

대괄호 [] 안에 반복하고자 하는 item을 

[func(item) for item in items] 이와 같은 형태로 작성해주면 된다.

words = ['I', 'love', 'you']
word_length = []

for word in words:
    word_length.append(len(word))

위의 예시는 평범한 for문을 사용하여 words 리스트 요소들의 길이를 갖는 word_length 리스트를 만드는 코드이다.

위 예시를 지능형 리스트를 사용하면 아래와 같다.

words = ['I', 'love', 'you']

word_length = [len(word) for word in words]

빈 리스트 정의 라인 포함 3줄의 코드가 한줄로 표현이 가능해진다.

 

위 예시처럼 리스트,튜플과 같은 시퀀스형의 요소를 가공하여 새로운 리스트를 만들어야 할 때

지능형 리스트는 아주 Pythonic하게 원하는 리스트를 생성해주는 구문이다.

Python3 이상부터는 어떠한 성능하락이나 메모리 누수도 없으므로 자유롭게 맘 껏 사용해도 된다!!

 

Python을 계속 이용할 유저라면 꼭 이 구문에 익숙해지는 것 추천ㅎ

'Python' 카테고리의 다른 글

[Python] logging을 알아보자!  (2) 2023.03.19
Python 상속이 성능에 영향이 있을까??  (4) 2023.03.15