파이썬에 "같지 않은"연산자가 있습니까?


396

당신은 어떻게 같지 않습니까?

처럼

if hi == hi:
    print "hi"
elif hi (does not equal) bye:
    print "no hi"

=="같지 않음"을 의미 하는 것과 동등한 것이 있습니까?


5
당신에 대해 묻는 else, !=(선택 <>) 또는 is not?
Tadeck

14
<>는 더 이상 파이썬 3에서 작동하지 않으므로! =를 사용하십시오.
Antonello

3
파이썬 문서에서 : Python3 : The operators <, >, ==, >=, <=, and != compare the values of two objects. docs.python.org/3/reference/expressions.html#value-comparisons
하메드

1
파이썬 문서에서 : python2: docs.python.org/2/reference/expressions.html#not-in
hamed

답변:


623

사용하십시오 !=. 비교 연산자를 참조하십시오 . 객체 ID를 비교하기 위해 키워드 is와 해당 부정을 사용할 수 있습니다 is not.

예 :

1 == 1 #  -> True
1 != 1 #  -> False
[] is [] #-> False (distinct objects)
a = b = []; a is b # -> True (same object)

20
<>파이썬 3에서 제거되지 않습니다. Checkout PEP401and try from __future__ import barry_as_FLUFLlol ~
yegle

두 개의 이진 데이터를 어떻게 비교 하시겠습니까?
Léo Léopold Hertz 준영

2
의견에 언급 된 PEP401의 일부 정보는 April Fool 농담이었습니다. <>현재 Python3에서는 지원되지 않습니다.
J ... S

1
: 그냥 레코드에 대한 파이썬 3.7에서 비교 연산자
Ocaso Protal

60

같지 않음 != (vs 같음 ==)

이런 식으로 물어 보니?

answer = 'hi'

if answer == 'hi':     # equal
   print "hi"
elif answer != 'hi':   # not equal
   print "no hi"

Python-기본 연산자 차트가 도움이 될 수 있습니다.


28

두 값이 다를 때 !=반환 하는 (같지 않음) 연산자가 True있지만, 때문에 유형에주의하십시오 "1" != 1. "1" == 1유형이 다르기 때문에 항상 True를 반환하고 항상 False를 반환합니다. 파이썬은 동적이지만 강력하게 유형이 지정되며 다른 정적으로 유형이 지정된 언어는 다른 유형을 비교하는 것에 대해 불평합니다.

도있다 else절은 :

# This will always print either "hi" or "no hi" unless something unforeseen happens.
if hi == "hi":     # The variable hi is being compared to the string "hi", strings are immutable in Python, so you could use the 'is' operator.
    print "hi"     # If indeed it is the string "hi" then print "hi"
else:              # hi and "hi" are not the same
    print "no hi"

is작업자가 인 개체 식별 실제로 두 개의 오브젝트가 동일한 지 확인하는 데 사용되는 연산자

a = [1, 2]
b = [1, 2]
print a == b # This will print True since they have the same values
print a is b # This will print False since they are different objects.

12

둘 다 사용할 수 있습니다 !=또는 <>.

그러나 더 이상 사용되지 않는 !=<>이 선호 됩니다.


7

다른 사람들이 이미 동등하지 않다고 말하는 다른 방법의 대부분을 이미 보았 듯이 나는 단지 추가 할 것입니다.

if not (1) == (1): # This will eval true then false
    # (ie: 1 == 1 is true but the opposite(not) is false)
    print "the world is ending" # This will only run on a if true
elif (1+1) != (2): #second if
    print "the world is ending"
    # This will only run if the first if is false and the second if is true
else: # this will only run if the if both if's are false
    print "you are good for another day"

이 경우 양수 == (true)의 검사를 음수로 바꾸고 그 반대의 경우도 간단합니다 ...


1

"같지 않음"또는 "! ="에 "is not"을 사용할 수 있습니다. 아래 예를 참조하십시오 :

a = 2
if a == 2:
   print("true")
else:
   print("false")

위의 코드는 "if"조건 이전에 지정된 = 2로 "true"를 인쇄합니다. 이제 "같지 않음"에 대한 아래 코드를 참조하십시오

a = 2
if a is not 3:
   print("not equal")
else:
   print("equal")

위 코드는 앞에서 지정한대로 "같지 않음"을 a = 2로 인쇄합니다.


0

파이썬에는 "같지 않은"조건에 대한 두 개의 연산자가 있습니다-

a.)! = 두 피연산자의 값이 같지 않으면 조건이 참이됩니다. (a! = b)는 사실입니다.

b.) <> 두 피연산자의 값이 같지 않으면 조건이 참이됩니다. (a <> b)는 사실입니다. 이것은! = 연산자와 비슷합니다.


-3

!=또는을 사용하십시오 <>. 둘 다 동일하지 않습니다.

비교 연산자 <>!=동일한 연산자의 대체 철자입니다. !=선호하는 철자입니다. <>더 이상 사용되지 않습니다. [참조 : 파이썬 언어 참조]


2
이 답변은 기본적으로 @ user128364가 이전에 준 것의 사본입니다.
SA

-5

간단하게 할 수 있습니다 :

if hi == hi:
    print "hi"
elif hi != bye:
     print "no hi"

1
당신은 변수에 어떤 값을 할당합니다 hibye? 그것이 무엇이든간에, elif 절은 결코 도달하지 않을 것입니다. 마지막으로,이 예는 질문에 대한 대답을 명확하게 제공하지 않습니다.
SA
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.