Jav*_* C. 2 python contains sequence not-operator in-operator
刚刚发现两种语法都有效.
哪个更有效率?
element not in list
Run Code Online (Sandbox Code Playgroud)
要么:
not element in list
Run Code Online (Sandbox Code Playgroud)
?
它们的行为相同,直到产生相同的字节码; 他们同样有效率.也就是说,element not in list通常被认为是首选.PEP8没有针对not ... invs. 的具体建议... not in,但它确实针对not ... isvs. ... is not,它更喜欢后者:
使用
is not运算符而不是not ... is.虽然两个表达式在功能上是相同的,但前者更具可读性和首选性.
为了显示性能的等效性,快速字节码检查:
>>> import dis
>>> dis.dis('not x in y')
1 0 LOAD_NAME 0 (x)
2 LOAD_NAME 1 (y)
4 COMPARE_OP 7 (not in)
6 RETURN_VALUE
>>> dis.dis('x not in y')
1 0 LOAD_NAME 0 (x)
2 LOAD_NAME 1 (y)
4 COMPARE_OP 7 (not in)
6 RETURN_VALUE
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
104 次 |
| 最近记录: |