hgk0404
hgk0404.tistory
hgk0404

공지사항

전체 방문자
오늘
어제
  • 전체 카테고리
    • [컴퓨터비전]
    • [Computer Science]
      • [컴퓨터네트워크]
      • [알고리즘]
      • [자료구조 in C]
      • [C & C++]
      • [이산수학]
      • [Math]
    • [머신러닝]
      • [Numpy, Pandas]
    • [Cloud]
      • [AWS]
      • [NCP]
      • [Kubernetes]
      • [Terraform]
    • [Dev]
      • [가상환경]
      • [Linux]
      • [Docker]
    • [Python]
    • [Coding Test]
      • [백준]
      • [프로그래머스]
      • [SQL]
    • [WEB]
    • [자격증, 일상]
    • [엑셀]
    • [금융]

인기 글

최근 글

최근 댓글

250x250
hELLO · Designed By 정상우.
hgk0404

hgk0404.tistory

[머신러닝]/[Numpy, Pandas]

[Numpy] 파이썬 list comprehension

2023. 6. 14. 00:10
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
'[머신러닝]/[Numpy, Pandas]' 카테고리의 다른 글
  • [Pandas] 판다스 설치
  • [Numpy] list와 tuple 자료형의 차이
  • [Numpy] Broadcasting이란? (브로트 캐스트 규칙)
  • [Numpy] 파이썬 Numpy란? shape(axis), ndim, size, reshape
hgk0404
hgk0404
공부기록

티스토리툴바