for 문과 if문을 한번에 - List comprehension의 if 문

이번 강의에서는 list comprehension 안에서 조건문을 넣는 방법에 대해 알아봅시다.


다른 언어에서는..(또는 이 기능을 모르시는 분은)

보통 사람들은 for 문 안에서 조건문을 사용해 2-depth 블록을 만듭니다.

mylist = [3, 2, 6, 7]
answer = []
for i in mylist:
    if i%2 == 0:
        answer.append(i**2) # 들여쓰기를 두 번 함
파이썬에서는

파이썬의 list comprehension을 사용하면 한 줄 안에 for 문과 if 문을 한 번에 처리할 수 있습니다.

mylist = [3, 2, 6, 7]
answer = [ i**2 for i in mylist if i %2 == 0]

list comprehension의 syntax는 Displays for lists, sets and dictionaries 에서 확인하실 수 있습니다. 1


  1. BNF 문법으로 쓰여있어, 초보자가 읽기에는 다소 무리일 수 있습니다. 하지만 Python의 expression을 좀 더 자세히 알고 싶은 분이라면 한번 읽어보는 편이 좋습니다.