[英]In python, What does this means 1, 2 == 1, 2?
有人可以解釋輸出嗎? 我想檢查兩個數字是否相等,但沒有正確計算。
Input: 1, 2 == 1, 2
Output: (1, False, 2)
您正在創建一個包含 3 個元素的元組,即1
、 2 == 1
和2
。 第一個和最后一個元素是整數文字,因此它們在 Python 中的值分別為1
和2
可能不足為奇。 元素2 == 1
是一個計算結果為False
的單個表達式,因為2
不等於1
。
如果要檢查具有兩個元素(1,2)
和(1,2)
的兩個元組的相等性,則必須執行(1, 2) == (1, 2)
以便 Python 知道哪些元素以逗號分隔視為單個元素。
在 REPL 中,您可以通過比較您擁有的內容來弄清楚這一點
>>> (1, 2) == (1, 2)
True
>>> (1, 3) == (1, 2)
False
>>> (3, 1) == (2, 1)
False
您正在制作一個由 3 個元素組成的元組,int、boolean 和 int。
如果你想同時比較使用
[1, 2] == [1, 2]
print 1, 2 == 1, 2
這是
print 1, False, 2 //since 1 not equal to 2
這將輸出
1 錯誤 2
實際上 2==1 會給你錯誤,因為 2 不等於 1。所以更好的方法是使用 if 語句
a = 1
b = 2
if b > a:
print(b + " is greater than " + a)
elif a == b:
print("a and b are equal")
else:
print("a is greater than b")
根據您的代碼,這是一個簡單的相等性檢查。 如果兩個操作數都為真,則返回真,在您的情況下,它是 1 == 2,因此它將返回假,因為兩者都不相同。 如果要比較它們,則在它們上面加上大括號。
操作順序不是你想的那樣。 == 的優先級高於逗號。 因此,您正在創建一個包含以下元素的 3 元組:
1
the result of the Boolean test to see whether 2 equals 1
2
這可能是你想要的,試試吧:
>>> (1,2) == (1,2)
True
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.