在我目前用python3开发的应用程序中,我经常使用这样的语句
elem_in_list = elem in list
但有时我需要检查元素是否不在列表中。 之间是否存在性能差异
elem_not_in_list = not elem in list
和
elem_not_in_list = elem not in list
还是一样?其中一种表示法更可取吗?
请您参考如下方法:
这些表达式编译成完全相同的字节码,因此它们的效率完全相同。 not in 往往更具可读性,但这是一个见仁见智的问题。
>>> import dis
>>> def f(x, y):
... return not x in y
...
>>> def g(x, y):
... return x not in y
...
>>> dis.dis(f)
2 0 LOAD_FAST 0 (x)
3 LOAD_FAST 1 (y)
6 COMPARE_OP 7 (not in)
9 RETURN_VALUE
>>> dis.dis(g)
2 0 LOAD_FAST 0 (x)
3 LOAD_FAST 1 (y)
6 COMPARE_OP 7 (not in)
9 RETURN_VALUE
