gpt4 book ai didi

python - 为什么 "(' a' in arr) in arr"!= "' a' in arr in arr"?

转载 作者:行者123 更新时间:2023-12-03 19:42:54 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Unexpected result with `in` operator chaining

(1 个回答)



Chaining "is" operators

(4 个回答)


去年关闭。




为什么是 ('a' in arr) in arr != 'a' in arr in arr ?

arr = [1, True, 'a', 2]
print(('a' in arr) in arr) # -> True
print('a' in arr in arr) # -> False

最佳答案

Section 6.10 of the Python language reference讨论比较运算符和比较链。 in被视为比较运算符,因此其行为与 < 相同等。没有括号用于显式分组,x OP1 y OP2 z相当于 x OP1 y and y OP2 z对于任意两个比较运算符。

这意味着

'a' in arr in arr

没有括号,等价于
'a' in arr and arr in arr
arr不是自身的元素,所以表达式为 False.
括号禁用链接,所以
('a' in arr) in arr

像任何其他嵌套表达式一样计算。 'a' in arr首先计算值 True ,然后 True in arr被评估也产生 True .

关于python - 为什么 "(' a' in arr) in arr"!= "' a' in arr in arr"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60400708/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com