443 Stimmen

Gibt es in Python einen Operator "nicht gleich"?

Wie würden Sie sagen, ist nicht gleich?

Wie

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

Gibt es eine Entsprechung zu == das bedeutet "nicht gleich"?

693voto

tskuzzy Punkte 35019

Utilice != . Siehe Vergleichsoperatoren . Um Objektidentitäten zu vergleichen, können Sie das Schlüsselwort is und seine Verneinung is not .

z.B..

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

73voto

Levon Punkte 134187

Nicht gleich != (vs. gleich == )

Fragen Sie nach etwas wie diesem?

answer = 'hi'

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

Diese Python - Grundlegende Operatoren Tabelle könnte hilfreich sein.

32voto

Samy Vilar Punkte 10109

Da ist die != (nicht gleich)-Operator, der Folgendes zurückgibt True wenn sich zwei Werte unterscheiden, aber seien Sie vorsichtig mit den Typen, denn "1" != 1 . Dies wird immer True zurückgeben und "1" == 1 wird immer False zurückgeben, da die Typen unterschiedlich sind. Python ist dynamisch, aber stark typisiert, und andere statisch typisierte Sprachen würden sich über den Vergleich unterschiedlicher Typen beschweren.

Außerdem gibt es die else Klausel:

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

En is Operator ist der Objektidentität Operator, um zu prüfen, ob zwei Objekte tatsächlich gleich sind:

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.

14voto

Malek B. Punkte 1059

Sie können beides verwenden != o <> .

Es ist jedoch zu beachten, dass != wird bevorzugt, wenn <> ist veraltet.

8voto

gabeio Punkte 1263

Da alle anderen bereits die meisten anderen Möglichkeiten aufgezählt haben, um zu sagen, dass sie nicht gleich sind, möchte ich nur noch hinzufügen:

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"

In diesem Fall ist es einfach, die Prüfung von positiv == (wahr) auf negativ umzustellen und umgekehrt...

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X