728x90
1. 리스트 컴프리핸션이란?
리스트 컴프리핸션(list comprehension)이란 '리스트 안에 for문이나 if문을 한줄에 넣어서 새로운 리스트를 만드는 것'입니다.
2. 사용 예시
일반적인 방법의 리스트 활용법
my_list = [ 1, 2, 3, 4 ]
new_list = []
for i in my_list:
new_list.append(10*i)
print(new_list)
>>> [10, 20, 30, 40]
기존의 방법을 사용하여 리스트를 만들어 주면 다음과 같이 만들 수 있습니다.
리스트를 2개를 따로 만들고 for문을 밖에 선언해주고 여러 줄을 쳐야 하는 번거로움이 있습니다.
리스트 컴프리핸션을 이용한 방법
new_list = [ 10 * i for i in my_list ]
print(new_list)
>>> [10, 20, 30, 40]
위와 같이 리스트 컴프리핸션을 이용하면 한 줄로 해결할 수 있습니다.
3. 리스트 컴프리핸션의 필터링 사용법
리스프 컴프리핸션은 if문과 if-else문도 사용 가능합니다.
✦ if문은 for문의 오른쪽, if-else문은 for문의 왼쪽에 사용합니다!
a = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
b = [ i for i in a if i % 2 == 0 ]
c = [ i for i in a if i % 2 == 0 and i % 3 == 0 ] # and/or를 사용하여 조건문 2개 이상 사용 가능
print(b)
>>> [2, 4, 6, 8, 10]
print(c)
>>> [6]
a = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
b = [ i if i % 2 == 0 else '홀수' for i in a ]
print(b)
>>> ['홀수', 2, '홀수', 4, '홀수', 6, '홀수', 8, '홀수', 10]
728x90
'[머신러닝] > [Numpy, Pandas]' 카테고리의 다른 글
[Numpy] np.arange 사용법과 range와의 차이 (0) | 2023.06.16 |
---|---|
[Pandas] 판다스 설치 (0) | 2023.06.15 |
[Numpy] list와 tuple 자료형의 차이 (0) | 2023.06.14 |
[Numpy] Broadcasting이란? (브로트 캐스트 규칙) (0) | 2023.06.13 |
[Numpy] 파이썬 Numpy란? shape(axis), ndim, size, reshape (0) | 2023.06.13 |