파이썬_ 컴프리헨션

sunjin·2023년 3월 13일

파이썬

목록 보기
13/14

리스트 컴프리헨션 (List comprehension)

빈 리스트를 만들고 append 함수로 하나씩 추가하는 방법

a = []
for i in range(1,10)
	a.append(i)
    

a = list(range(1,10))

a = [i for i in range(1,10]

첫 번째는 내가 자주 사용하던 방식이고

두번째는 list 함수를 이용해 간단하게 리스트를 만든 방식이다

세번째는 리스트 컴프리헨션이다.

처음 i는 리스트에 저장되는 값이고 두번째 i 는 for문 일부다

a = []
for i in range(1,10)
	if i % 2 == 0:
    	a.append(i)
        
        
a = [i for i in range(1,10) if i % 2 == 0]

딕셔너리 컴프리헨션

a = {i : i*2 for i in range(1, 6)}

# 출력결과
{1: 2, 2: 4, 3: 6, 4: 8, 5: 10}

1~ 5까지 키*2를 하는 형태이다.

딕셔너리 형태이기 때문에 {}에 쓰는걸 유의하자 !

name = [일, 이, 삼]
age = [20, 19, 23]

a = {key: value for(key,value)in zip(name, age)}

# 출력결과 
{'일':20 , '이':19 , '삼':23}

셋 컴프리헨션

a = {i for i in range(1,10)}

# 출력결과
{1, 2, 3, 4, 5, 6, 7, 8, 9}

딕셔너리 형태와 비슷하나 키:값 형태가 아니기 때문에 그 점에 유의하자

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

a = {i for i in b}

# 출력결과
{1, 2, 3, 4, 5}

set은 중복값을 저장하지 않는다.

profile
🍀

0개의 댓글