Por que o módulo do operador está faltando `e` e` ou`?
operador módulo torna fácil evitar funções desnecessárias e lambdas em situações como esta:
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
Bem, agora eu preciso fazeri1 and i2
, mas para minha surpresa, não consigo encontrarand
no módulo do operador! E o mesmo se aplica aor
! Eu sei,and
não é exatamenteoperador, é umpalavra chave, masnot
, junto comis
e até mesmodel
, são todas as palavras-chave e todas estão incluídas.
Então, qual é a história? Por que eles estão faltando?