“值不在列表中”是否与“列表中没有值”相同?

时间:2013-08-11 20:47:34

标签: python

两种表单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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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