Reputation: 4891
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"?
Upvotes: 449
Views: 1869585
Reputation: 23459
The standard 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]
Upvotes: 1
Reputation: 1418
Use !=
or <>
. Both stands for not equal.
The comparison operators <>
and !=
are alternate spellings of the same operator. !=
is the preferred spelling; <>
is obsolescent. (Reference: Python language reference)
Upvotes: -2
Reputation: 5133
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.
Upvotes: 1
Reputation: 36476
Use !=
. See comparison operators. For comparing object identities, you can use the keyword is
and its negation is not
.
e.g.
1 == 1 # -> True
1 != 1 # -> False
[] is [] #-> False (distinct objects)
a = b = []; a is b # -> True (same object)
Upvotes: 699
Reputation: 2079
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.
Upvotes: 0
Reputation: 4945
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.
Upvotes: 0
Reputation: 11130
There's the !=
(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 else
clause:
# 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"
The 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.
Upvotes: 32
Reputation: 1154
You can use both !=
or <>
.
However, note that !=
is preferred where <>
is deprecated.
Upvotes: 15
Reputation: 1320
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...
Upvotes: 8
Reputation: 143162
Not equal !=
(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.
Upvotes: 73