How would you say "does not equal"?
if hi == hi: print "hi" elif hi (does not equal) bye: print "no hi"
Is there something similar to
== that means "not equal"?
!=. See comparison operators. For comparing object identities, you can use the keyword
is and its negation
1 == 1 # -> True 1 != 1 # -> False  is  #-> False (distinct objects) a = b = ; a is b # -> True (same object)
!= (vs equal
Are you asking about something like this?
answer = 'hi' if answer == 'hi': # equal print "hi" elif answer != 'hi': # not equal print "no hi"
This Python – Basic Operators chart might be helpful.
!= (not equal) operator that returns
True when two values differ, though be careful with the types because
"1" != 1. This will always return True and
"1" == 1 will always return False, since the types differ. Python is dynamically, but strongly typed, and other statically typed languages would complain about comparing different types.
There’s also the
# 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"
is operator is the object identity operator used to check if two objects in fact are the same:
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.
Seeing as everyone else has already listed most of the other ways to say not equal I will just add:
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 this case it is simple switching the check of positive == (true) to negative and vise versa…
You can use both
However, note that
!= is preferred where
<> is deprecated.
<>. Both stands for not equal.
The comparison operators
!= are alternate spellings of the same operator.
!= is the preferred spelling;
<> is obsolescent. (Reference: Python language reference)
There are two operators in Python for the “not equal” condition –
a.) != If values of the two operands are not equal, then the condition becomes true.
(a != b) is true.
b.) <> If values of the two operands are not equal, then the condition becomes true.
(a <> b) is true. This is similar to the != operator.
You can use “is not” for “not equal” or “!=”. Please see the example below:
a = 2 if a == 2: print("true") else: print("false")
The above code will print “true” as a = 2 assigned before the “if” condition. Now please see the code below for “not equal”
a = 2 if a is not 3: print("not equal") else: print("equal")
The above code will print “not equal” as a = 2 as assigned earlier.
You can use the
!= operator to check for inequality.
Moreover in Python 2 there was
<> operator which used to do the same thing, but it has been deprecated in Python 3.
operator module holds
ne method which is a wrapper for
!= a.k.a. not equal operator.
import operator operator.ne(1, 1) # False operator.ne(1, 3) # True
This is especially useful if you need to make comparisons in a setting where a function is expected.
a = [1, 2, 3, 4] b = [2, 2, 3, 3] list(map(operator.ne, a, b)) # [True, False, False, True]