2

这两种形式value not in listnot 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
4

2 回答 2

1

我会说value not in list更好只是因为可读性。not value in list令人困惑。代码应尽可能可读。

于 2013-08-11T20:49:33.800 回答
1

来自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读起来更好。

于 2013-08-11T20:51:54.287 回答