>> s = 'a' >>> s != 'a' False >>> s is not 'a' False 但是,当我在列表-6ren">
gpt4 book ai didi

Python:!= 和 "is not"之间的区别

转载 作者:太空狗 更新时间:2023-10-29 19:30:36 24 4
gpt4 key购买 nike

我不清楚语法 !=is not 之间的区别。他们似乎在做同样的事情:

>>> s = 'a'
>>> s != 'a'
False
>>> s is not 'a'
False

但是,当我在列表理解中使用 is not 时,它会产生与使用 != 时不同的结果。

>>> s = "hello"
>>> [c for c in s if c is not 'o']
['h', 'e', 'l', 'l', 'o']
>>> [c for c in s if c != 'o']
['h', 'e', 'l', 'l']

为什么 o 包含在第一个列表中,但没有包含在第二个列表中?

最佳答案

测试对象身份,但是==测试对象值是否相等:

In [1]: a = 3424
In [2]: b = 3424

In [3]: a is b
Out[3]: False

In [4]: a == b
Out[4]: True

关于Python:!= 和 "is not"之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5782203/

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