Python可以测试列表中多个值的成员资格吗?

我想测试列表中是否有两个或多个值具有成员资格,但是我得到了意外的结果:


>>> 'a','b' in ['b', 'a', 'foo', 'bar']

('a', True)

那么,Python可以一次在列表中测试多个值的成员资格吗?结果是什么意思?


幕布斯7119047
浏览 466回答 3
3回答

慕尼黑5688855

我敢肯定,in它具有更高的优先级,,因此您的语句被解释为'a', ('b' in ['b' ...]),然后'a', True由于该'b'值在数组中而被求值。请参阅先前的答案以了解如何做您想做的事情。

猛跑小猪

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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python