Y a-t-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 un remplacement pour == qui signifie "pas égal"?

282
demandé sur Community 2012-06-16 07:19:57

8 réponses

Utilisez !=. Voir opérateurs de comparaison . Pour comparer les identités d'objets, 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)
495
répondu tskuzzy 2017-03-15 22:52:01

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"

Ce graphiqueopérateurs Python - Basic pourrait être utile.

46
répondu Levon 2012-06-16 03:28:36

Il y a l'opérateur != (pas égal) 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 dynamiquement, mais fortement typé, et d'autres langages statiquement typés se plaindraient de comparer 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"

Le is l'opérateur est le l'identité de l'objet opérateur utilisé pour vérifier si deux les objets sont en fait les mêmes:

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
répondu Samy Vilar 2018-05-23 21:50:17

Vu que tout le monde a déjà énuméré la plupart des autres façons de dire non égal, je vais simplement 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 = = (true) à négatif et vice versa...

4
répondu gabeio 2015-06-12 04:37:12

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

Cependant, notez que {[0] } est préféré lorsque <> est obsolète.

4
répondu Malek B. 2016-01-12 12:17:58

Il y a deux opérateurs en Python pour la condition "not equal" -

A.)!= Si les valeurs des deux opérandes ne sont pas égales, alors la condition devient vraie. (un != 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 à la != opérateur.

-1
répondu user128364 2018-05-23 21:52:56

Utiliser != ou <>. Les deux signifie pas égal.

Les opérateurs de comparaison <> et != sont des orthographes alternatives du même opérateur. != est l'orthographe préférée; <> est caduc. [Référence: Référence du langage Python]

-2
répondu Ehsan 2017-02-24 21:27:03

Vous pouvez simplement faire:

if hi == hi:
    print "hi"
elif hi != bye:
     print "no hi"
-4
répondu cgastald 2015-04-21 13:35:36