본문 바로가기
Programming Language/Python

[python] 파이썬 - 리스트 컴프리헨션 개념과 사용 예제

by ggyongi 2021. 3. 27.
반응형

리스트 컴프리헨션은 기존 리스트를 기반으로 새로운 리스트를 만들어내는 구문이다.

 

기본 구문: [ <표현식> for <변수명> in <시퀀스> if <조건> ]

(for, in ,if...뽀린잎으로 외워)

 

+) if else가 섞인 리스트 컴프리헨션의 순서는 [(표현식) if <조건> else <표현식> for <변수명> in <시퀀스>]이다

 

사용 예제: 홀수인 경우 제곱하여 출력하는 리스트 컴프리헨션

>> [n*n for n in range(0,10) if n%2 ==1 ]
[1,9,25,49,81]

 

활용1. 새 리스트 생성

# example1
>> a = [1,2,3]
>> b = [2*x for x in a]
>> b
[2,4,6]

# example2
>> a = ['abc','def']
>> b = [name.upper() for name in a]
>> b
['ABC', 'DEF']

 

활용2. 필터링

>>a=[1,-5,4,2,-2,10]
>>b=[2*x for x in a if x>0]
>>b
[2,8,4,20]

# db에 활용
a=[s for s in stocks if s['price']>100]
a=[s['name'] for s in stocks]

 

* 동일한 구문으로 딕셔너리도 만들어 낼 수 있다.

a ={}
for key, val in original.itmes():
	a[key]= val
    
## 위 코드를 다음과 같이 한줄로
a = {key:value for key,value in original.items()}



## 리스트 -> 딕셔너리
a= [['lukas',25],['jenni',26],['tom',24]]
b={ key, value for key, value in a}
b
{'lukas':25, 'jenni':26, 'tom':24}
 

비전공자 네카라 신입 취업 노하우

시행착오 끝에 얻어낸 취업 노하우가 모두 담긴 전자책!

kmong.com

댓글