프로그래밍/Python 관련 정보

[Python Programming 기초] Comprehension

물박사의 저장공간 2024. 10. 22. 21:55

 

python을 python답게 코딩할 수 있는 comprehension을 자주 사용하면 좋겠죠?

이번 포스팅에서는 간단하게 Comprehension을 사용하는 팁에 대해서 알아보겠습니다. 

1) 다수의 생성식 활용 : 아래와 같이 여러 변수에 대해서 comprehension을 적용할 수 있습니다. 이 때에는 앞에 있는 "생성식"이 더 상위루프로 간주됩니다. 

r = ((y, x) for y in range(3) if not y%2 for x in range(3) if x%2)

 

2) 다차원 container 생성 : 아래 코드에서 이중 리스트를 만드는 예시처럼 comprehension을 활용하면 다차원 container를 만들 수 있습니다. 

tt=[[1,2] for i in range(2)]
print(tt) #[[1, 2], [1, 2]]

 

3) 조건절에서 if/else 사용하는 경우: 사실 저도 종종 헷갈리는 syntax입니다. [조건만족시출력내용 if 조건 else 조건불만족시출력내용 for루프] 의 syntax를 적어주시면 됩니다. 예시로 보시는 것이 더 간단할 것 같습니다. 

[i**2 if i % 2 == 0 else i*3 for i in range(10)]