为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

幕布斯7119047 2019-10-28 16:48:14
我想测试列表中是否有两个或多个值具有成员资格,但是我得到了意外的结果:>>> 'a','b' in ['b', 'a', 'foo', 'bar']('a', True)那么,Python可以一次在列表中测试多个值的成员资格吗?结果是什么意思?
查看完整描述

3 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

我敢肯定,in它具有更高的优先级,,因此您的语句被解释为'a', ('b' in ['b' ...]),然后'a', True由于该'b'值在数组中而被求值。

请参阅先前的答案以了解如何做您想做的事情。


查看完整回答
反对 回复 2019-10-28
?
猛跑小猪

TA贡献1858条经验 获得超8个赞

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


查看完整回答
反对 回复 2019-10-28
  • 3 回答
  • 0 关注
  • 465 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信