arr = [1, True, 'a', 2]
print('a' in arr in arr) # False你能解釋一下為什么這段代碼會輸出“假”嗎?問題已結(jié)束。來自@KlausD 的回答:實際上它是一個比較運算符鏈接,將被解釋為('a' in arr) and (arr in arr).
3 回答

紅糖糍粑
TA貢獻1815條經(jīng)驗 獲得超6個贊
print('a' in arr in arr) // False
被解釋為print('a' in arr in arr) // 0
拋出ZeroDivisionError: integer Division or modulo by zero error。如果您打算注釋掉False
,請使用"#"
,而不是"//"
(例如print('a' in arr in arr) # False
)
使用@Klaus D 的有用評論-
print('a' in arr in arr)
被評估為print(('a' in arr) and (arr in arr))
由于操作符鏈接。這又被處理成print(True and False)
->print(False)
要檢查是否'a'
在arr
,只需檢查print('a' in arr)
# 打印True

慕萊塢森
TA貢獻1810條經(jīng)驗 獲得超4個贊
我相信這就是你想要做的:
arr = [1, True, 'a', 2]
print( 'a' in arr)
輸出:
True
或這個:
arr = [1, True, 'a', 2]
print(bool(['a' in arr]) in arr)
輸出:
True
添加回答
舉報
0/150
提交
取消