티스토리 뷰

list comprehension 문을 사용하면 for 문과 if문을 한 번에 처리할 수 있다.

for 문의 경우에는 이차원배열 받아올 때 자주 사용하는데

ex. [list(map(int, input().split()) for _ in range(N)]

 

if 문까지는 축약하여 잘 쓰지않다 보니 익숙해지지 않아서 다시 복습해본다.

 

arr = [1, 2, 3, 4, 5]
ans = []

for num in arr:
    if num % 2:
        ans.append(num ** 2)

 

이걸 List Comprehension 을 사용하면 다음과 같이 표현할 수 있다.

arr = [1, 2, 3, 4, 5]
ans = []

ans = [num ** 2 for num in arr if num % 2]

결과로 출력할때 적용할 수식을 맨 앞에 쓰고 조건은 맨 뒤에 쓴다.

자주 사용해봐야겠다.

 

 

 

 

참고사이트 https://programmers.co.kr/learn/courses/4008/lessons/48464

댓글