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

python中的多个'In'运算符

python中的多个'In'运算符

桃花长相依 2021-08-14 17:23:56
arr = [1, True, 'a', 2] print('a' in arr in arr) # False你能解释一下为什么这段代码会输出“假”吗?问题已结束。来自@KlausD 的回答:实际上它是一个比较运算符链接,将被解释为('a' in arr) and (arr in arr).
查看完整描述

3 回答

?
红糖糍粑

TA贡献1815条经验 获得超6个赞

  1. 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

  1. 使用@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


查看完整回答
反对 回复 2021-08-14
?
慕莱坞森

TA贡献1810条经验 获得超4个赞

我相信这就是你想要做的:


arr = [1, True, 'a', 2]

print( 'a' in arr)

输出:


True

或这个:


arr = [1, True, 'a', 2]

print(bool(['a' in arr]) in arr)

输出:


True


查看完整回答
反对 回复 2021-08-14
?
子衿沉夜

TA贡献1828条经验 获得超3个赞

这是False因为'a'in 'arr''arr'不是in 'arr'

意义'arr'本身不能存在。


查看完整回答
反对 回复 2021-08-14
  • 3 回答
  • 0 关注
  • 227 浏览
慕课专栏
更多

添加回答

举报

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