본문 바로가기
Python/Python FAQ

Python 리스트 내포에서 if else [중복], if else in a list comprehension [duplicate]

by 베타코드 2023. 8. 2.
반응형

질문


나는 목록 l을 가지고 있습니다:

l = [22, 13, 45, 50, 98, 69, 43, 44, 1]

45 이상의 숫자에 대해서는 1을 더하고, 그보다 작은 숫자에 대해서는 5를 더하고 싶습니다.

저는 다음과 같이 시도해 보았습니다

[x+1 for x in l if x >= 45 else x+5]

하지만 구문 오류가 발생합니다. 리스트 내포에서 이처럼 if - else를 어떻게 구현할 수 있을까요?


답변


>>> l = [22, 13, 45, 50, 98, 69, 43, 44, 1]
>>> [x+1 if x >= 45 else x+5 for x in l]
[27, 18, 46, 51, 99, 70, 48, 49, 6]

<조건>이 참이면 무언가를 하고, 그렇지 않으면 다른 무언가를 하십시오.

반응형

댓글