Dlaczego brakuje modułu operatora `i` i` lub`?
operator moduł ułatwia unikanie niepotrzebnych funkcji i lambd w takich sytuacjach:
import operator
def mytest(op, list1, list2):
ok = [op(i1, i2) for i1, i2 in zip(list1, list2)]
return all(ok)
mytest(operator.eq, [1, 2, 3], [1, 2, 3]) # True
mytest(operator.add, [-1, 2, -3], [1, -2, 33]) # False
Teraz muszę to zrobići1 and i2
, ale ku mojemu zaskoczeniu nie mogę znaleźćand
w module operatora! To samo dotyczyor
! Wiem,and
nie jest dokładnieoperator, to jestsłowo kluczowe, alenot
, razem zis
i nawetdel
, są wszystkie słowa kluczowe i wszystkie są włączone.
Więc jaka jest ta historia? Dlaczego ich brakuje?