Есть ли в Python оператор «не равно»?

396

Как бы вы сказали не равны?

подобно

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

Есть ли что-то эквивалентное тому, ==что означает «не равный»?

Aj Entity
источник
5
Вы спрашиваете о else, !=(необязательно <>) или is not?
Tadeck
14
Обратите внимание, что <> больше не работает в Python 3, так что используйте! =
Антонелло
3
из питона документации: Python3 : The operators <, >, ==, >=, <=, and != compare the values of two objects. docs.python.org/3/reference/expressions.html#value-comparisons
Хамед
1
из питона документации: python2: docs.python.org/2/reference/expressions.html#not-in
Хамед

Ответы:

624

Использование !=. Смотрите операторы сравнения . Для сравнения идентификаторов объектов вы можете использовать ключевое слово isи его отрицание is not.

например

1 == 1 #  -> True
1 != 1 #  -> False
[] is [] #-> False (distinct objects)
a = b = []; a is b # -> True (same object)
tskuzzy
источник
20
<>не удаляется из Python 3. PEP401from __future__ import barry_as_FLUFL
Проверьте
Как бы вы сравнили две двоичные данные?
Лео Леопольд Герц 준영
2
Просто некоторая информация, PEP401, упомянутая в комментариях, была первоапрельской шуткой. <>сейчас не поддерживается в Python3.
J ... S
1
Просто для
справки
60

Не равно != (против равно ==)

Вы спрашиваете о чем-то вроде этого?

answer = 'hi'

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

Эта диаграмма Python - Основные операторы может быть полезна.

Левон
источник
28

Есть !=(не равно) оператор, который возвращает, 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.
Сами Вилар
источник
12

Вы можете использовать оба !=или <>.

Тем не менее, обратите внимание, что !=является предпочтительным, где <>не рекомендуется.

Малек Б.
источник
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) на отрицательный и наоборот ...

gabeio
источник
1

Вы можете использовать «не» для «не равно» или «! =». Пожалуйста, смотрите пример ниже:

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

Приведенный выше код выведет «true» как a = 2, назначенное перед условием «if». Теперь, пожалуйста, смотрите код ниже для "не равно"

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

Приведенный выше код выведет «не равно», как a = 2, как назначено ранее.

Amir Md Amiruzzaman
источник
0

В Python есть два оператора для условия «не равно» -

a.)! = Если значения двух операндов не равны, условие становится истинным. (a! = b) верно.

б.) <> Если значения двух операндов не равны, то условие становится истинным. (а <> б) верно. Это похоже на оператор! =.

user128364
источник
-3

Используйте !=или<> . Оба означают не равных.

Операторы сравнения <>и !=являются альтернативными написаниями одного и того же оператора. !=является предпочтительным правописанием; <>устарел. [Ссылка: справочник по языку Python]

Ehsan
источник
2
этот ответ в основном является копией той, которую @ user128364 дал ранее.
SA
-5

Вы можете просто сделать:

if hi == hi:
    print "hi"
elif hi != bye:
     print "no hi"
cgastald
источник
1
Какое значение вы бы присвоили переменным hiи bye? Как бы то ни было, пункт об элифе никогда не будет достигнут. Наконец, этот пример не дает четкого ответа на вопрос.
SA