더북(TheBook)

논리 연산자|(or)과 &(and), -(not)을 사용해서 여러 불 표현을 결합할 수 있다. 다음 리스트에서 -0.5와 0.5 사이에 위치한 아이템은 무엇인가? numpy에 물어보자!

linear = np.arange(-1, 1.1, 0.2)

(linear <= 0.5) & (linear >= -0.5)

>>>

array([False, False, False, True, True, True, True, True, False,

       False, False], dtype=bool)

 

icon_wait

 

관계형 연산자와 불 연산자

관계형 연산자(<= = 같은)는 numpy 배열에 불 연산을 수행하는 &, |, !인 비트 단위 연산자보다 처리 순위가 떨어진다. 이는 굉장히 헷갈리는데, ‘일반적인’ 파이썬 불 연산자인 or, and, not은 관계형 연산자보다 처리 순위가 떨어지기 때문이다. 따라서 배열 비교에 괄호를 씌워 numpy가 이를 먼저 처리하게 해야 한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.