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)