426

你怎么会说不等于?

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

有没有等同于==“不等于”的东西?

4

10 回答 10

669

使用!=. 请参阅比较运算符。为了比较对象身份,您可以使用关键字is及其否定is not

例如

1 == 1 #  -> True
1 != 1 #  -> False
[] is [] #-> False (distinct objects)
a = b = []; a is b # -> True (same object)
于 2012-06-16T03:21:41.920 回答
67

不相等 != (与相等==

你是在问这样的事情吗?

answer = 'hi'

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

这个Python - 基本运算符图表可能会有所帮助。

于 2012-06-16T03:22:40.890 回答
30

当两个值不同时,有一个!=(不等于)运算符返回True,但要小心类型,因为"1" != 1. 这将始终返回 True 并且"1" == 1始终返回 False,因为类型不同。Python 是动态的,但是是强类型的,而其他静态类型的语言会抱怨比较不同的类型。

还有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"

is运算符是用于检查两个对象实际上是否相同的对象标识运算符

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.
于 2012-06-16T03:45:38.100 回答
13

您可以同时使用!=<>

但是,请注意,不推荐使用!=的地方是首选<>

于 2016-01-12T12:17:58.057 回答
7

鉴于其他人已经列出了大多数其他表示不相等的方式,我将添加:

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"

在这种情况下,将正 == (true) 的检查切换为负检查很简单,反之亦然......

于 2012-06-16T04:04:30.950 回答
1

您可以使用“不是”来表示“不等于”或“!=”。请看下面的例子:

a = 2
if a == 2:
   print("true")
else:
   print("false")

上面的代码将打印“true”作为在“if”条件之前分配的 a = 2。现在请参阅下面的代码“不等于”

a = 2
if a is not 3:
   print("not equal")
else:
   print("equal")

上面的代码将打印“不等于”作为前面分配的 a = 2。

于 2020-01-28T01:47:30.010 回答
0

Python中有两个运算符用于“不等于”条件 -

a.) != 如果两个操作数的值不相等,则条件为真。(a != b) 是真的。

b.) <> 如果两个操作数的值不相等,则条件为真。(a <> b) 是真的。这类似于 != 运算符。

于 2018-01-17T12:01:30.980 回答
0

您可以使用!=运算符来检查不等式。此外,python 2<>操作员曾经做同样的事情,但它已被弃用python 3

于 2020-12-28T18:47:32.563 回答
-3

使用!=<>。两者都代表不相等。

比较运算符<>!=是同一运算符的替代拼写。!=是首选拼写;<>已过时。【参考:Python语言参考】

于 2017-02-24T21:27:03.310 回答
-5

你可以简单地做:

if hi == hi:
    print "hi"
elif hi != bye:
     print "no hi"
于 2015-04-21T13:35:36.887 回答