알고리즘

리스트 컴프리헨션 정리

korea_musk 2021. 1. 19. 15:39

파이썬에서의 리스트는

변수명 = [] 로 쉽게 초기화가 가능합니다.

 

여기서 리스트 컴프리헨션이란?

파이썬에서 리스트를 초기화할 때 대괄호 안 반복문과 조건문을 함께 사용하는 것입니다.

 

일반적인 코드

array = []

for i in range(10):

    if i % 2 == 1:

        array.append(i)  ##리스트 삽입

--> [1, 3, 5, 7, 9]

 

리스트 컴프리헨션

array = [i for i in range(10) if i % 2 == 1]

--> [1, 3, 5, 7, 9]

 

코드가 짧아진 것을 볼 수 있습니다.

 

알고리즘에 적용해보면

N * M 리스트를 만들 때

 

array = [[0] * M for _ in range(N)] 

## _(언더바)를 사용하는 이유 = 반복문 사용시 반복을 위한 변수값 무시

 

특정 값 삭제시에도 사용

array = [1, 2, 3, 4, 5]

remove_set = {3, 4}

 

result = [i for i in a if i not in remove_set]

--> [1, 2, 5]

 

map을 이용한 리스트

list(map(int, input().split()))

공백을 기준으로 int(정수형)으로 list를 만들게 됩니다.