两种形式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
来源http://docs.python.org/2/reference/expressions.html#not-in:
如果x是集合s的成员,则s中的x计算为true,否则计算为false。x不在s中返回s 中x的否定
因此,x not in s
确实与not x in s
相同。一个是否比另一个好是一个风格问题;就我个人而言,我认为x not in s
读起来更好。
我认为value not in list
之所以更好,仅仅是因为可读性。not value in list
令人困惑。代码应尽可能可读。