2014-06-30 12 views
6

Esiste qualche funzione Python per l'operatore "in" come quello che abbiamo per operator.lt, operator.gt, .. Non voglio usare questa funzione per fare qualcosa come:In Python c'è una funzione per l'operatore "in"

operator.in(5, [1,2,3,4,5,6]) 
>> True 

operator.in(10, [1,2,3,4,5,6]) 
>> False 
+2

Non capisco perché si voglia aggiungere l'overhead di un'importazione quando un semplice a in b funzionerebbe ovunque si utilizzi questo. – gkusner

+0

@gkusner: Non sono sicuro di quale sia il caso, ma se si desidera utilizzarlo in una richiamata è necessaria una funzione, non un operatore integrato. –

+0

Quindi la domanda: nel problema come indicato non ci sarebbe bisogno di una funzione – gkusner

risposta

10

Sì, utilizzare operator.contains(); notare che l'ordine degli operandi è invertito:

>>> import operator 
>>> operator.contains([1,2,3,4,5,6], 5) 
True 
>>> operator.contains([1,2,3,4,5,6], 10) 
False 

di aver saltato il pratico mapping table sul fondo della documentazione.