在撰寫 Python 代碼時,我得到了與我想要的不同的結果。
>>> temp = [1]
>>> 1 in temp != 2 in temp
False
>>> (1 in temp) != (2 in temp)
True
>>> ((1 in temp) != 2) in temp
True
我的目的是第二個,但我寫的和第一個一樣。
問題已經解決,但我想知道第一個運算式輸出的順序是什么False。
不知道是不是因為和第三個一樣的原理,結果第三個也輸出了True。
uj5u.com熱心網友回復:
我相信這是由運算子鏈接引起的。
在 Python 中,您可以撰寫一個包含兩個(或更多)運算子的運算式,如下所示:
a < b < c
Python 將此視為您撰寫(a < b) and (b < c).
所以 Python 正在處理你的表達
1 in temp != 2 in temp
就好像你寫的:
(1 in temp) and (temp != 2) and (2 in temp)
這是錯誤的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/534448.html
標籤:Python
上一篇:庫和模塊問題-Python初學者
