본문 바로가기
프로그래밍

삼항 연산자

by choihyuunmin 2021. 2. 14.

자바스크립트를 배우다가 삼항 연산자라는 것을 알게되었다.

if ( a>b ) {
    console.log(a);
 }  else {
    console.log(b);
 }

위의 코드는 a가 b보다 크다면 a를 콘솔에 보여주고, a가 b보다 크지 않다면 b를 콘솔에 보여주는 조건문이다.

이 5줄짜리 코드를 삼항 연산자를 이용하면 한 줄로 줄일 수 있다.

 

console.log( a>b ? a : b);

 

조건문을 '?'로 표현하고 else를 ':' 으로 표현하여 한 줄짜리 조건 출력문을 간단하게 만들 수 있다.

이런 편리한 기능이 파이썬에 없을리가 없다.


파이썬에서는 어떻게 사용하는지 알아보자!

우선, 위의 자바스크립트 조건문과 같이 a가 b보다 크다면 a를, 그렇지 않다면 b를 출력하는 조건문을 만들어본다.

a, b = map(int, input().split())

if a>b:
	print(a)
else:
	print(b)
	

 

마찬가지로 5줄짜리 코드가 만들어졌다. 파이썬의 삼항 연산자는 다른 언어들과는 약간 다르게 사용한다.

print(a if a>b else b)

 

자바스크립트에서는 '?' 와 ':' 을 사용했지만 파이썬에서는 if와 else를 그대로 가져와 사용한다.

위 출력문을 총 세 부분으로 나눌 수 있는데

1) a

2) if a>b else

3) b

2 -> 1 -> 3 의 순서로 출력문이 실행된다.

추가로, 삼항 연산자는 list comprehension 과 결합하여 사용할 수도 있다.

list = [ number for number in range(10) if number % 2 == 1]

>> list = [1, 3, 5, 7, 9]

이런식으로 사용할 수도 있다!