Có một toán tử không bằng nhau trong Python không?


396

Làm thế nào bạn sẽ nói không bằng?

Giống

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

Có một cái gì đó tương đương với ==điều đó có nghĩa là "không bằng"?


5
Bạn đang hỏi về else, !=(tùy chọn <>) hoặc is not?
Tadeck

14
Lưu ý rằng <> không hoạt động nữa trong python 3, vì vậy hãy sử dụng! =
Antonello

3
từ tài liệu python: Python3 : The operators <, >, ==, >=, <=, and != compare the values of two objects. docs.python.org/3/reference/expressions.html#value-comparisons
ham vào

1
từ tài liệu python: python2: docs.python.org/2/reference/expressions.html#not-in
ham

Câu trả lời:


623

Sử dụng !=. Xem toán tử so sánh . Để so sánh danh tính đối tượng, bạn có thể sử dụng từ khóa isvà phủ định của nó is not.

ví dụ

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

20
<>không bị xóa khỏi Python 3. Thanh toán PEP401và thử from __future__ import barry_as_FLUFLlol ~
yegle

Làm thế nào bạn sẽ so sánh hai dữ liệu nhị phân?
Léo Léopold Hertz

2
Chỉ cần một số thông tin, PEP401 được đề cập trong các bình luận là một trò đùa Cá tháng Tư. <>hiện không được hỗ trợ trong Python3.
J ... S


60

Không bằng != (so với bằng ==)

Bạn đang hỏi về một cái gì đó như thế này?

answer = 'hi'

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

Đây Python - Cơ bản sử dụng biểu đồ có thể hữu ích.


28

!=toán tử (không bằng) trả về Truekhi hai giá trị khác nhau, mặc dù vậy hãy cẩn thận với các loại vì "1" != 1. Điều này sẽ luôn trả về True và "1" == 1sẽ luôn trả về false, vì các loại khác nhau. Python là động, nhưng được gõ mạnh và các ngôn ngữ gõ tĩnh khác sẽ phàn nàn về việc so sánh các loại khác nhau.

Ngoài ra còn có elsemệnh đề:

# 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"

Các isnhà điều hành là nhận dạng đối tượng khai thác sử dụng để kiểm tra xem hai đối tượng trên thực tế đều giống nhau:

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

Bạn có thể sử dụng cả hai !=hoặc <>.

Tuy nhiên, lưu ý rằng !=được ưa thích nơi <>bị phản đối.


7

Xem như mọi người khác đã liệt kê hầu hết các cách khác để nói không bằng tôi sẽ chỉ thêm:

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"

trong trường hợp này, thật đơn giản để chuyển kiểm tra dương == (đúng) sang âm và ngược lại ...


1

Bạn có thể sử dụng "không" cho "không bằng" hoặc "! =". Vui lòng xem ví dụ dưới đây:

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

Đoạn mã trên sẽ in "true" là a = 2 được gán trước điều kiện "if". Bây giờ xin vui lòng xem mã dưới đây cho "không bằng"

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

Đoạn mã trên sẽ in "không bằng" là a = 2 như được gán trước đó.


0

Có hai toán tử trong Python cho điều kiện "không bằng nhau" -

a.)! = Nếu giá trị của hai toán hạng không bằng nhau, thì điều kiện trở thành đúng. (a! = b) là đúng.

b.) <> Nếu giá trị của hai toán hạng không bằng nhau, thì điều kiện trở thành đúng. (a <> b) là đúng. Điều này tương tự như toán tử! =.


-3

Sử dụng !=hoặc <>. Cả hai đều là viết tắt của không bằng nhau.

Các toán tử so sánh <>!=là cách viết thay thế của cùng một toán tử. !=là chính tả ưa thích; <>là lỗi thời. [Tham khảo: Tham chiếu ngôn ngữ Python]


2
câu trả lời này về cơ bản là một bản sao của một @ user128364 đã đưa ra trước đó.
SA

-5

Bạn chỉ có thể làm:

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

1
Giá trị nào bạn sẽ gán cho các biến hibye? Dù nó là gì, mệnh đề elif sẽ không bao giờ đạt được. Cuối cùng, ví dụ này không cung cấp rõ ràng câu trả lời cho câu hỏi.
SA
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.