【发布时间】:2020-07-21 15:35:39
【问题描述】:
今天在这个Python程序中遇到了一个棘手的情况:
a = [False, True]
x = True in a in a
y = True in a in [a]
z = True in a in (a)
print(x, y, z)
这段代码的输出是
False True False
这怎么可能?
让我们在这里测试x:
x = True in a in a
True in [False, True] 是 True,True in [False, True] 是 True。
所以x 应该是True。但是当我运行程序时,它会显示False。
现在让我们从右到左:
x = True in a in a
[False, True] in [False, True] 是False,所以现在True in False 可能是类型错误或其他错误。
你能解释一下吗?
【问题讨论】:
-
a的初始值是多少? -
Python 链接某些运算符,包括
in。
标签: python python-3.x operators boolean-logic