Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
来自`in`运算符的意外结果-Python_Python - Fatal编程技术网

来自`in`运算符的意外结果-Python

来自`in`运算符的意外结果-Python,python,Python,为什么第二个打印语句输出False?中的和is是Python中的比较运算符,在这方面与以下情况相同:您的语句在seq中的项为True在内部评估为(seq中的项)和(seq为True),如下所示 print((item in seq) is True) (seq is True)为False,因此您的语句输出为False。下面的答案不正确。评论解释了这一点,我证实: >>>print ((item in seq) and (seq is True)) False [17]中的

为什么第二个
打印
语句输出
False

中的
is
是Python中的比较运算符,在这方面与以下情况相同:
您的语句
在seq中的项为True
在内部评估为
(seq中的项)和(seq为True)
,如下所示

print((item in seq) is True)

(seq is True)为False,因此您的语句输出为False。

下面的答案不正确。评论解释了这一点,我证实:

>>>print ((item in seq) and (seq is True))
False
[17]中的
:中的项(seq为True)
---------------------------------------------------------------------------
TypeError回溯(最近一次调用上次)
在()
---->中的1项(序号为真)
TypeError:类型为“bool”的参数不可编辑


先前的答复 我相信它是在评估
seq is True
(评估结果为bool
False
),然后评估False中的
项(评估结果为
False


大概您的意思是
打印(seq中的项)为True
(其计算结果为
True

这可能是因为python如何计算表达式。您可能想使用
打印((seq中的项目)是正确的)
这在@Tim Peters answer?@t.m.adam中解释得不够充分吗?我们都或多或少地同时回答了这个问题。如果他的答案解释得更详细,让我删除这个答案。@初学者否。一个问题不能有两个正确答案吗?@初学者我认为留下你的答案没有什么坏处。虽然你不应该失去你在这个问题上获得的代表,但是如果你删除了,请不要误解我的评论。我只是想鼓励您改进您的答案。
False中的项
会引发一个
TypeError
,因为右边的值必须是iterable,而
False
不会更改答案。谢谢
(expr1 <comparison1> expr2) and (expr2 <comparison2> expr3)
0 <= i < n
item in seq is True
(item in seq) and (seq is True)
print((item in seq) is True)
>>>print ((item in seq) and (seq is True))
False
In [17]: item in (seq is True)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-17-4e7d6b2332d7> in <module>()
----> 1 item in (seq is True)