2012-06-16 20 views
238

¿Cómo dirías que no es igual?¿Hay un operador "no igual" en Python?

Como

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

¿Hay un reemplazo para == que significa "no igual"?

+3

¿Estás preguntando sobre 'else','! = '(Opcionalmente' <> ') o' is not'? – Tadeck

+10

Tenga en cuenta que el ranking del motor de búsqueda de esta búsqueda es más alto que el ranking de los documentos en línea. Por lo tanto, sigue siendo una pregunta útil. – f4der

+7

Atención que <> ya no funciona en python 3, entonces use! = – Antonello

Respuesta

430

Use !=. Ver comparison operators. Para comparar identidades de objetos, puede usar la palabra clave is y su negación is not.

p. Ej.

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

Digamos que solo hay '! =', ya que '<>' ha sido eliminado de Python 3. Debe haber una y preferiblemente solo una forma de hacerlo;) De todos modos +1 – Tadeck

+1

De acuerdo con los documentos más nuevos - http://docs.python.org/library/stdtypes.html#comparisons - '<>' solo está en 2.6 y 2.7 para compatibilidad con versiones anteriores y "código nuevo siempre debe usar'! = '." – lvc

+11

'<>' no se elimina de Python 3. Pagar 'PEP401' e intentar' desde __future__ importar barry_as_FLUFL' lol ~ – yegle

39

No igual != (vs igual ==)

lo preguntas sobre algo como esto?

answer = 'hi' 

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

Esta tabla Python - Basic Operators podría ser útil.

17

Ahí está el != (no igual) operador que devuelve True cuando dos valores difieren, aunque hay que tener cuidado con los tipos causan "1" != 1 esta siempre devolverá True y "1" == 1 siempre devolverá falso, ya que los tipos son diferentes, Python es dinámica pero fuertemente mecanografiados, otros lenguajes tipados estáticamente se quejarían sobre la comparación de diferentes tipos.

Hay también la else cláusula

# this will always print either "hi" or "no hi" unless something unforseen 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" 

El operador is es el operador object identity utilizado para comprobar si dos objetos, de hecho, son los mismos:

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. 
4

En vista de que todos los demás ya ha enumerado más de las otras formas de decir que no es igual, solo agregaré:

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" 

en este caso es sencillo cambiar el cheque de == positivo (verdadero) a la inversa negativa y tornillo de banco ...

-3

puede simplemente hacer:

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

¿Qué valor asignarías a las variables 'hi' y' bye'? Sea lo que sea, la cláusula elif nunca se alcanzará. Por último, este ejemplo no proporciona claramente una respuesta a la pregunta. –

3

Usted puede utilizar tanto != o <>.

Sin embargo, tenga en cuenta que != es preferible donde <> está en desuso.

0

Use != o <>. Ambos significan no iguales.

Los operadores de comparación <> y != son deletreos alternativos del mismo operador. != es la ortografía preferida; <> es obsoleto. [Referencia: Referencia del lenguaje Python]

+0

esta respuesta es básicamente una copia del que @ user128364 dio antes. –

-1

hay dos operador en Python para la condición "es igual a" -

a).!= Si los valores de dos operandos no son iguales, entonces la condición se vuelve verdadera. (a! = B) es verdadero.

b.) <> Si los valores de dos operandos no son iguales, entonces la condición se vuelve verdadera. (a <> b) es verdadero. Esto es similar al operador! =.

+1

'<>' se eliminó en Python 3. En cualquier caso, esta respuesta no proporciona ninguna información nueva. – vaultah

Cuestiones relacionadas