在Python中,两个或多个连续的成员资格运算符是按什么顺序处理的?
为什么当列表中有在Python中,两个或多个连续的成员资格运算符是按什么顺序处理的?,python,python-3.x,operators,membership,Python,Python 3.x,Operators,Membership,为什么当列表中有1且True也在列表中时,第一个代码段会给出False作为输出 为什么在我向它添加g时,它将True作为输出?这是并且将扩展到1 in g和g in g。因此,只有在将g附加到自身之后,这才成为事实 可以使用括号获得所需的行为:(g中的1)in g。这将强制首先计算g中的1部分(但是in比较是否相等,并且True==1,因此True实际上不需要是列表的一部分)。它的工作原理是 因此打印(1英寸g英寸g)相当于 打印(1英寸g和g英寸g)导致 False(True和False)相关
1
且True
也在列表中时,第一个代码段会给出False
作为输出
为什么在我向它添加g
时,它将True
作为输出?这是并且将扩展到1 in g和g in g
。因此,只有在将g
附加到自身之后,这才成为事实
可以使用括号获得所需的行为:
(g中的1)in g
。这将强制首先计算g中的1
部分(但是in
比较是否相等,并且True==1
,因此True
实际上不需要是列表的一部分)。它的工作原理是
因此打印(1英寸g英寸g)
相当于
打印(1英寸g和g英寸g)
导致
False
(True和False
)相关问题:
>>> g = [1, True, 5]
>>> print(1 in g in g)
False
>>> g.append(g)
>>> print(1 in g in g)
True