web-dev-qa-db-fra.com

Y at-il un opérateur "pas égal" en Python?

Comment diriez-vous ne correspond pas?

Comme 

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

Y a-t-il quelque chose d'équivalent à == qui signifie "pas égal"?

309
Aj Entity

Utilisez !=. Voir opérateurs de comparaison . Pour comparer les identités d'objet, vous pouvez utiliser le mot clé is et sa négation is not.

par exemple.

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

Pas égal != (vs égal ==)

Vous demandez quelque chose comme ça?

answer = 'hi'

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

Ceci Python - Opérateurs de base chart pourrait être utile.

48
Levon

Il y a l'opérateur != (différent) qui renvoie True lorsque deux valeurs diffèrent, mais soyez prudent avec les types car "1" != 1. Cela retournera toujours True et "1" == 1 retournera toujours False, car les types diffèrent. Python est dynamique, mais fortement typé, et d'autres langages à typage statique se plaindraient de la comparaison de différents types.

Il y a aussi la clause 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"

L'opérateur is est l'opérateur object identity utilisé pour vérifier si deux objets sont réellement identiques:

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.
20
Samy Vilar

Vous pouvez utiliser à la fois != ou <>.

Toutefois, notez que != est préférable lorsque <> est obsolète.

5
Malek B.

Comme tout le monde a déjà énuméré la plupart des autres façons de dire non égal, je vais juste ajouter:

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"

dans ce cas, il est simple de passer le contrôle de positif == (vrai) à négatif et vice-versa ...

5
gabeio

Il y a deux opérateurs en Python pour la condition "pas égal" -

a.)! = Si les valeurs des deux opérandes ne sont pas égales, alors la condition devient vraie . (a! = b) est vrai.

b.) <> Si les valeurs des deux opérandes ne sont pas égales, alors la condition devient vraie . (a <> b) est vrai. Ceci est similaire à l'opérateur! =.

0
user128364