[Python] 한 줄 for 문/ 컴프리헨션(comprehension)

seeun·2021년 7월 26일
0

Python

목록 보기
1/2
post-thumbnail

☑️Comprehension

  • 썬에서는 리스트, 세트, 딕셔너리 내에서 실행할 수 있는 한 줄 for 문 지원
  • 컴프리헨션은 우리말로 내포(혹은 내장)라는 뜻으로 리스트, 세트, 딕셔너리 컴프리헨션은 각각 리스트, 세트 딕셔너리 내에 코드가 내포돼 실행되는 것을 의미
  • 반복해서 처리해야 할 때 코드를 한 줄로 작성할 수 있어서 편리


🔹 리스트 컴프리헨션의 기본 구조

💡|<반복 실행문>for<반복 변수>in<반복 범위>|


Q. 1~5까지 숫자가 들어있는 리스트에서 각 항목의 숫자를 제곱

- for 문 이용

numbers = [1, 2, 3, 4, 5]
square = []

for i in numbers:
	square.append(i**)
    
print(square)
//[1, 4, 9, 16, 25]

- 리스트 컴프리헨션 방법 이용

numbers = [1, 2, 3, 4, 5]
square = [i**2 for i in numbers]
print(square)
//[1, 4, 9, 16, 25]



🔹 조건문을 포함한 리스트 컴프리헨션

💡|<반복 실행문>for<반복 변수>in<반복 범위>|if<조건문>|
반복문을 수행하다가 조건문을 만족하는 경우에만 반복실행문을 실행


Q. 1~5까지 숫자가 들어있는 리스트에서 3이상의 숫자만 제곱

- for 문 이용

numbers = [1, 2, 3, 4, 5]
square = []

for i in numbers:
	if i >= 3:
		square.append(i**)
    
print(square)
//[9, 16, 25]

- 리스트 컴프리헨션 방법 이용

numbers = [1, 2, 3, 4, 5]
square = [i**2 for i in numbers if i >= 3]
print(square)
//[9, 16, 25]

컴프리헨션 방법을 이용하면 훨씬 간결하게 작성할 수 있음 ㅎㅎ

출처 : 데이터분석을 위한 파이썬 철저 입문(최은석)

profile
🤹‍♂️개발 기록 노트

0개의 댓글

관련 채용 정보