Cha*_*l72 11 python syntax list-comprehension
我不清楚语法!=和语法之间的区别is not.他们似乎做了同样的事情:
>>> s = 'a'
>>> s != 'a'
False
>>> s is not 'a'
False
Run Code Online (Sandbox Code Playgroud)
但是,当我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']
Run Code Online (Sandbox Code Playgroud)
为什么oget包含在第一个列表中,而不是第二个列表?
tke*_*win 34
is测试对象标识,但==测试对象值相等:
In [1]: a = 3424
In [2]: b = 3424
In [3]: a is b
Out[3]: False
In [4]: a == b
Out[4]: True
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8325 次 |
| 最近记录: |