코딩을 하면서 가장 많이 작성하는 문법 중의 하나는 if문이 아닌가 싶다. 하이브 SQL에서는 CASE~WHEN~ 구문을 이용했는데, 최근에 if문도 사용가능하다는 것을 알았다. if(조건문, 참값, 거짓값)의 형태로 엑셀과도 문법이 동일하다. CASE~WHEN~이 어색했는데, 앞으로는 if문을 많이 사용할 듯 하다. 그러고보니 파이썬의 if문이 작성하기 귀찮아졌다. 오늘은 파이썬 조건문 if문을 한 줄에 작성하는 방법에 대해서 알아보도록 하겠다.
파이썬에서 if문을 작성하는 방법은 아래와 같다.
a=0
if a==0:
b=0
else:
b=1
print(b)
[출력]
3
크게 불편한 건 아니지만, 엑셀이나 하이브SQL에서 작성하는 것보다 귀찮다. 하지만, 위 구문을 한 줄에 작성할 수 있는 방법이 있다. 아래와 같이 작성하면 된다.
b = 0 if a==0 else 1
구문이 어색할 수 있지만, 이렇게 생각하면 쉬울 듯 하다. b라는 변수에 0을 넣고 싶어. 그런데 a가 0이어야 돼. 아니면 1을 넣어.
print 함수를 적용할 때도 동일하게 사용할 수 있다.
a=1
print(0 if a==0 else 1)
중첩된 조건문을 사용하는 것도 가능하다. 하지만, 중첩해서 사용하는 것은 코드를 이해하기 어려운 것 같다.
a=2
print(0 if a==0 else (
1 if a==2 else 3
))
그러고보니 리스트를 만들 때, for문과 if문을 사용해서 한 줄에 작성하는 문법이 있었는데 그 문법과 유사하다. 람다 함수를 이용하면, 데이터 프레임에서도 사용할 수 있다.
df=pd.DataFrame({"a":[0,1,2]}
print(df)
df["b"]=df["a"].apply(lambda x:0 if x==0 else 1)
print(df)
람다 함수에 대해서는 다음에 자세히 다뤄보도록 하겠다.
이렇게 파이썬에 또 한번 길들어지게 되었다. 그 동안 if문을 쓰기 귀찮았는데, 이제 조금은 편리하게 사용할 수 있을 듯 하다. 알아갈수록 편리하고 좋은 방법들이 많아 쉴 수가 없다.
'파이썬 > 파이썬 기초' 카테고리의 다른 글
파이썬 주석, 파이참(pycharm)으로 똑똑하게 활용하기 (2) | 2021.08.18 |
---|---|
파이썬 셀레니움(sellenium)을 이용한 웹크롤링 방법은? (0) | 2021.08.17 |
파이썬 urllib패키지로 웹크롤링 하는 방법 알아보기! (0) | 2021.08.16 |
파이썬 if문, 파이참에서 쉽게 작성하기! (0) | 2021.08.15 |
파이썬 if문 기본 문법과 다양한 활용법 총정리! (0) | 2021.08.13 |