这两种形式value not in list
并not value in list
返回相同的结果。
它们是等效的还是比另一个更好?
>>> l=[1,2,3]
>>> 1 not in l
False
>>> not 1 in l
False
>>> 5 not in l
True
>>> not 5 in l
True
这两种形式value not in list
并not value in list
返回相同的结果。
它们是等效的还是比另一个更好?
>>> l=[1,2,3]
>>> 1 not in l
False
>>> not 1 in l
False
>>> 5 not in l
True
>>> not 5 in l
True
我会说value not in list
更好只是因为可读性。not value in list
令人困惑。代码应尽可能可读。
来自http://docs.python.org/2/reference/expressions.html#not-in:
如果 x 是集合 s 的成员,则 x in s 评估为 true,否则为 false。x not in s 返回 x in s 的否定
所以,x not in s
确实是一样的not x in s
。一个是否比另一个更好是风格问题;就个人而言,我会说x not in s
读起来更好。