상세 컨텐츠

본문 제목

[Python] 코딩의 간결함을 위한 내포(Comprehension)

coding

by golduny_zoo 2021. 5. 10. 11:16

본문

728x90

리스트내포, 리스트 표현식, 리스트 컴플리헨션 여러 방식으로 불린다. 

comprehension를 사용하면 리스트 안에 반복문과 if문을 통해 간결하게 코드를 작성할 수 있는데,

파이썬만 가지고 있는 독특한 문법이다!

 

공부하다 이제 처음 알게 된건데 Comprehension은 리스트만 사용할 수 있는 것이 아니였다

dictionary

set

list

모두 사용이 가능 하다!

 

 

해석하는 방식이 다른데 내가 코딩을 배웠던 코딩 도장에서 너무 좋게 설명해줘서 이미지를 살짝 따왔다.

1. for문 사용

[표현식 for 항목 in 반복가능객체]

>>> result = []
>>> for i in range(10):
    	result.append(i)

# 위의 문장을 리스트 내포로 함축
result = [i for i in range(10)]

 

2. for 문 + if 문 사용

 [표현식 for 항목 if 조건문]

>>> result = []
>>> for i in range(10):
    	if i % 2 ==0:
        	result.append(i)
        
# 위의 문장을 리스트 내포로 함축        
result = [i for i in range(10) if i % 2 == 0]

 

3. 여러개의 반복문 사용 

[표현식 for 항목1 in 반복가능객체1 if 조건문1
        for 항목2 in 반복가능객체2 if 조건문2
        ...
        for 항목n in 반복가능객체n if 조건문n]

>>> result = []
>>> for i in range(2,10):
		for j in range(1,10):
        	result.append(i*j)

# 위의 문장을 리스트로 함축
>>> result = [i*j for i in range(2,10)
	             for j in range(1,10)]
                

 

4. 딕셔너리로 사용하는 방식 

리스트와 다른점은 {}로 시작하고 키값과 벨류값이 있다는 부분

 

{: 벨류 for 원소 in 반복 가능한 객체 }

{: 벨류 for 원소 in 반복 가능한 객체 if}

출처 https://velog.io/@taeha7b/comprehensions

 

관련글 더보기