Większość zgodziłaby się, że 4 not in a
jest bardziej Pythoniczny.
Python został zaprojektowany w celu łatwego zrozumienia i zrozumiałości, i brzmi bardziej jak mówisz po angielsku - prawdopodobnie nie musisz znać Pythona, aby zrozumieć, co to znaczy!
Należy zauważyć, że w odniesieniu do kodu bajtowego, dwa będą identyczne w CPython (choć not in
jest technicznie jeden operator, not 4 in a
podlega optymalizacji):
>>> import dis
>>> def test1(a, n):
not n in a
>>> def test2(a, n):
n not in a
>>> dis.dis(test1)
2 0 LOAD_FAST 1 (n)
3 LOAD_FAST 0 (a)
6 COMPARE_OP 7 (not in)
9 POP_TOP
10 LOAD_CONST 0 (None)
13 RETURN_VALUE
>>> dis.dis(test2)
2 0 LOAD_FAST 1 (n)
3 LOAD_FAST 0 (a)
6 COMPARE_OP 7 (not in)
9 POP_TOP
10 LOAD_CONST 0 (None)
13 RETURN_VALUE
Drugi, założę. – StoryTeller
Drugi czyta się dobrze jako angielskie zdanie i działa tak, jak powinien. ==> przejdź do niego. – mnagel
możliwy duplikat [Kolejność składni do używania słów kluczowych "nie" i "w"] (http://stackoverflow.com/questions/8738388/order-of-syntax-for-using-not-and-in- kluczowe) – Amelia