Python'da “eşit olmayan” bir operatör var mı?


396

Eşit olmadığını nasıl söyleyebilirsin?

Sevmek

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

Buna ==eşit olmayan bir şey var mı ?


5
Sorduğunuz else, !=(isteğe bağlı olarak <>) ya da is not?
Tadeck

14
<> 'Nin artık python 3'te çalışmadığına dikkat edin, bu yüzden kullanın! =
Antonello

3
python dokümantasyonundan: Python3 : The operators <, >, ==, >=, <=, and != compare the values of two objects. docs.python.org/3/reference/expressions.html#value-comparisons
hamed

1
python dokümantasyonundan: python2: docs.python.org/2/reference/expressions.html#not-in
hamed

Yanıtlar:


623

Kullanın !=. Karşılaştırma işleçlerine bakın . Nesne kimliklerini karşılaştırmak için anahtar kelimeyi isve negatifliğini kullanabilirsiniz is not.

Örneğin

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

20
<>Python 3'ten kaldırılmaz. Ödeme yapın PEP401ve from __future__ import barry_as_FLUFL
lol'yi

İki ikili veriyi nasıl karşılaştırırsınız?
Léo Léopold Hertz 준영

2
Sadece bazı bilgiler, PEP401 yorumlarda bahsedilen bir Nisan aptal şaka oldu. <>şu anda Python3'te desteklenmemektedir.
J ... S

1
Sadece rekor için: Python
3.7'deki

60

Eşit değil != (eşittir ==)

Böyle bir şey mi soruyorsun?

answer = 'hi'

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

Bu Python - Temel İşleçler tablosu yardımcı olabilir.


28

Orada !=döner ki (eşit değil) operatörü Trueiki değer farklı olduğunda, gerçi çünkü türleriyle dikkatli olun "1" != 1. Bu, her zaman True "1" == 1döndürür ve türler farklı olduğu için her zaman False döndürür. Python dinamik olarak, ancak güçlü bir şekilde yazılmıştır ve statik olarak yazılan diğer diller farklı türlerin karşılaştırılmasından şikayetçi olacaktır.

Bir de elsemadde var:

# 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"

isOperatörü nesne kimlik aslında iki nesne aynı olup olmadığını kontrol etmek için kullanılan operatörü:

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

Her ikisini de kullanabilirsiniz !=veya <>.

Ancak, kullanımdan kaldırıldığı !=yerlerde tercih edildiğini unutmayın <>.


7

Herkesin zaten eşit olmadığını söylemenin diğer yollarının çoğunu listelediğini görmek sadece ekleyeceğim:

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"

Bu durumda, pozitif == (doğru) kontrolünü negatif ve tersi yönde değiştirmek basittir ...


1

"Eşit değil" veya "! =" İçin "değil" ifadesini kullanabilirsiniz. Lütfen aşağıdaki örneğe bakın:

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

Yukarıdaki kod "true" değerini "if" koşulundan önce atanmış bir = 2 olarak yazdıracaktır. Şimdi "eşit değil" için lütfen aşağıdaki koda bakın

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

Yukarıdaki kod "eşit değil" i daha önce atandığı gibi a = 2 olarak yazdırır.


0

Python'da "eşit değil" koşulu için iki operatör vardır -

a.)! = İki işlenenin değerleri eşit değilse, koşul geçerli olur. (a! = b) doğrudur.

b.) <> İki işlenenin değerleri eşit değilse, koşul geçerli olur. (bir <> b) doğrudur. Bu! = İşlecine benzer.


-3

!=Veya tuşunu kullanın <>. Her ikisi de eşit değil anlamına gelir.

Karşılaştırma operatörleri <>ve !=aynı operatörün alternatif yazımlarıdır. !=tercih edilen yazımdır; <>eskimiş. [Referans: Python dil referansı]


2
bu cevap temelde @ user128364'ün daha önce verdiği bir kopyasıdır.
SA

-5

Sadece şunları yapabilirsiniz:

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

1
Değişkenlere hangi değeri atarsınız hive bye? Her ne olursa olsun, elif maddesine asla ulaşılamazdı. Son olarak, bu örnek soruya net bir cevap vermemektedir.
SA
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.