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


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