exist - python string in list
¿Hay una función corta contiene para las listas? (4)
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 su totalidad.
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
>>>
Veo que la gente está usando any para recopilar 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
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 declaración if:
if myItem not in list:
#do things
Puedes usar esta sintaxis:
if myItem in list:
# do something
Además, operador inverso:
if myItem not in list:
# do something
Funciona bien 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.
Se me ocurrió este único forro recientemente para ser True si una lista contiene cualquier 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)