2012-06-16 26 views
238

Làm thế nào bạn nói không bằng nhau?Có toán tử "không bằng" trong Python không?

Giống như

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

Có một sự thay thế cho == có nghĩa là "không công bằng"?

+3

Bạn đang hỏi về 'else','! = '(Tùy chọn' <> ') hay' không phải là'? – Tadeck

+10

Xin lưu ý rằng thứ hạng công cụ tìm kiếm của nhiệm vụ này cao hơn xếp hạng của tài liệu trực tuyến. Do đó nó vẫn là một câu hỏi hữu ích. – f4der

+7

Chú ý rằng <> không hoạt động thêm trong python 3, vì vậy hãy sử dụng! = – Antonello

Trả lời

430

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

ví dụ:

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

Cho phép nói chỉ có '! =', vì '<>' đã bị xóa khỏi Python 3. Nên có một và tốt nhất là chỉ có một cách để thực hiện nó;) Dù sao +1 – Tadeck

+1

Theo tài liệu mới hơn - http://docs.python.org/library/stdtypes.html#comparisons - '<>' chỉ ở 2.6 và 2.7 cho tương thích ngược và "mã mới phải luôn sử dụng'! = '." – lvc

+11

'<>' không bị xóa khỏi Python 3. Thanh toán 'PEP401' và thử' từ __future__ nhập khẩu barry_as_FLUFL' lol ~ – yegle

39

Không bằng != (vs bình đẳ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" 

Biểu đồ Python - Basic Operators này có thể hữu ích.

17

Có những != (không bằng nhau) điều hành trả True khi hai giá trị khác nhau, mặc dù cẩn thận với các loại gây "1" != 1 này sẽ luôn luôn trả True và "1" == 1 sẽ luôn luôn trả False, bởi vì các loại khác nhau, trăn là động nhưng mạnh mẽ đánh máy, 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.

Theres cũng là else khoản

# this will always print either "hi" or "no hi" unless something unforseen 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" 

Nhà điều hành isobject identity điều hành 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. 
4

Thấy như mọi người khác đã được liệt kê nhất các cách khác để nói không bằng nhau 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 nó là đơn giản chuyển sang việc kiểm tra của == dương tính (true) để tiêu cực và ngược lại ...

-3

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

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

Giá trị nào bạn gán cho các biến 'hi' và' bye'? Bất cứ điều gì nó sẽ là, mệnh đề elif sẽ không bao giờ đạt được. Cuối cùng, ví dụ này không cung cấp câu trả lời rõ ràng cho câu hỏi. –

3

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

Tuy nhiên, lưu ý rằng != được ưu tiên khi không sử dụng <>.

0

Sử dụng != hoặc <>. Cả hai 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ả được ưu tiên; <> là lỗi thời. [Tham khảo: Tham chiếu ngôn ngữ Python]

+0

câu trả lời này về cơ bản là bản sao của một @ user128364 đã cung cấp trước đây. –

-1

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

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 true. (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 sự thật. (số <> b) là đúng. Điều này tương tự như! = Toán tử.

+1

'<>' đã được gỡ bỏ bằng Python 3. Trong mọi trường hợp, câu trả lời này không cung cấp bất kỳ thông tin mới nào. – vaultah

Các vấn đề liên quan