我已经看到了两种方式,但是哪种方式更适合Python?
a = [1, 2, 3] # version 1 if not 4 in a: print 'is the not more pythonic?' # version 2 if 4 not in a: print 'this haz more engrish'
哪种方法被认为是更好的Python?
第二个选项是Pythonic,原因有两个:
not (4 in a)
碰巧的是,Python会 优化 后一种情况并转换not (x in y)成x not in y任何情况,但这是CPython编译器的实现细节。
not (x in y)
x not in y