我想測試列表中是否有兩個或多個值具有成員資格,但是我得到了意外的結果:>>> 'a','b' in ['b', 'a', 'foo', 'bar']('a', True)那么,Python可以一次在列表中測試多個值的成員資格嗎?結果是什么意思?
3 回答

隔江千里
TA貢獻1906條經驗 獲得超10個贊
我敢肯定,in
它具有更高的優先級,,
因此您的語句被解釋為'a', ('b' in ['b' ...])
,然后'a', True
由于該'b'
值在數組中而被求值。
請參閱先前的答案以了解如何做您想做的事情。

BIG陽
TA貢獻1859條經驗 獲得超6個贊
Python解析器將該語句評估為元組,其中第一個值為'a',第二個值為表達式'b' in ['b', 'a', 'foo', 'bar'](其值為True)。
您可以編寫一個簡單的函數來執行您想要的操作,但是:
def all_in(candidates, sequence):
for element in candidates:
if element not in sequence:
return False
return True
并這樣稱呼:
>>> all_in(('a', 'b'), ['b', 'a', 'foo', 'bar'])
True
添加回答
舉報
0/150
提交
取消