¿Hay una función corta contiene para listas?

Veo que la gente está usando any para recostackr otra lista para ver si un elemento existe en una lista, pero ¿hay una forma rápida de hacerlo ?:

 if list.contains(myItem): # do something 

Puedes usar esta syntax:

 if myItem in list: # do something 

Además, operador inverso:

 if myItem not in list: # do something 

Es un buen trabajo para listas, tuplas, conjuntos y dados (teclas de verificación).

Tenga en cuenta que esta es una operación O (n) en listas y tuplas, pero una operación O (1) en conjuntos y dictados.

Además de lo que otros han dicho, es posible que también le interese saber que lo que hace es llamar a la list.__contains__ método, que puede definir en cualquier clase que escriba y puede ser extremadamente útil para usar Python en toda su extensión.

Un uso tonto puede ser:

 >>> class ContainsEverything: def __init__(self): return None def __contains__(self, *elem, **k): return True >>> a = ContainsEverything() >>> 3 in a True >>> a in a True >>> False in a True >>> False not in a False >>> 

Se me ocurrió este único forro recientemente para ser True si una lista contiene un número de apariciones de un elemento, o False si no contiene ocurrencias o nada en absoluto. El uso de next(...) le da a este un valor de retorno predeterminado ( False ) y significa que debe ejecutarse significativamente más rápido que ejecutar toda la lista de comprensión.

list_does_contain = next((True for item in list_to_test if item == test_item), False)

El index método de lista devolverá -1 si el elemento no está presente, y devolverá el índice del elemento en la lista si está presente. Alternativamente, en una sentencia if puede hacer lo siguiente:

 if myItem in list: #do things 

También puede verificar si un elemento no está en una lista con la siguiente statement if:

 if myItem not in list: #do things