Cómo verificar si una lista contiene un elemento específico en Python

PythonPythonBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás cómo verificar si una lista contiene un elemento específico en Python, una operación fundamental para tomar decisiones basadas en la presencia o ausencia de elementos. Principalmente usaremos el operador in para determinar la pertenencia a una lista.

Comenzarás creando una lista de frutas y luego usarás el operador in para verificar la presencia de frutas específicas como "banana" (plátano) y "grape" (uva). El laboratorio demuestra cómo el operador in devuelve True si se encuentra un elemento y False en caso contrario. Además, explorarás el uso del operador not in para verificar si un elemento no está presente en la lista.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/ErrorandExceptionHandlingGroup(["Error and Exception Handling"]) python/BasicConceptsGroup -.-> python/strings("Strings") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/tuples("Tuples") python/ErrorandExceptionHandlingGroup -.-> python/catching_exceptions("Catching Exceptions") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") subgraph Lab Skills python/strings -.-> lab-559524{{"Cómo verificar si una lista contiene un elemento específico en Python"}} python/lists -.-> lab-559524{{"Cómo verificar si una lista contiene un elemento específico en Python"}} python/tuples -.-> lab-559524{{"Cómo verificar si una lista contiene un elemento específico en Python"}} python/catching_exceptions -.-> lab-559524{{"Cómo verificar si una lista contiene un elemento específico en Python"}} python/data_collections -.-> lab-559524{{"Cómo verificar si una lista contiene un elemento específico en Python"}} end

Comprender la pertenencia a una lista

En este paso, aprenderás cómo verificar si un elemento existe dentro de una lista en Python. Esta es una operación fundamental cuando se trabaja con listas y a menudo se utiliza para tomar decisiones basadas en la presencia o ausencia de elementos específicos. Usaremos el operador in para lograr esto.

Primero, creemos una lista de frutas:

fruits = ["apple", "banana", "cherry"]

Esta línea de código crea una lista llamada fruits que contiene tres elementos de tipo cadena: "apple" (manzana), "banana" (plátano) y "cherry" (cereza).

Ahora, usemos el operador in para verificar si "banana" está en la lista fruits. Crea un archivo llamado membership.py en tu directorio ~/project utilizando el editor VS Code. Agrega el siguiente código a membership.py:

fruits = ["apple", "banana", "cherry"]
print("banana" in fruits)

Guarda el archivo. Ahora, ejecuta el script utilizando el siguiente comando en la terminal:

python membership.py

La salida será:

True

Esto indica que "banana" está presente en la lista fruits.

Ahora, verifiquemos si "grape" (uva) está en la lista fruits. Modifica el archivo membership.py para que quede así:

fruits = ["apple", "banana", "cherry"]
print("grape" in fruits)

Guarda el archivo y ejecútalo nuevamente:

python membership.py

La salida será:

False

Esto indica que "grape" no está presente en la lista fruits.

El operador in devuelve True si el elemento se encuentra en la lista y False en caso contrario. Esta es una forma simple pero poderosa de determinar la pertenencia a una lista en Python.

También puedes usar el operador not in para verificar si un elemento no está en una lista. Por ejemplo:

fruits = ["apple", "banana", "cherry"]
print("grape" not in fruits)

Guarda el archivo y ejecútalo:

python membership.py

La salida será:

True

Esto se debe a que "grape" no está en la lista fruits, por lo que la expresión "grape" not in fruits se evalúa como True.

Usar el operador in

En el paso anterior, aprendiste los conceptos básicos de la pertenencia a una lista utilizando el operador in. En este paso, exploraremos aplicaciones más prácticas del operador in con diferentes tipos de datos y escenarios.

El operador in no se limita solo a las listas. También se puede utilizar con otros tipos de datos iterables como cadenas de texto (strings) y tuplas.

Usar in con cadenas de texto:

Puedes verificar si una subcadena existe dentro de una cadena de texto más larga. Crea un archivo llamado string_membership.py en tu directorio ~/project utilizando el editor VS Code. Agrega el siguiente código a string_membership.py:

text = "Hello, world!"
print("world" in text)

Guarda el archivo. Ahora, ejecuta el script utilizando el siguiente comando en la terminal:

python string_membership.py

La salida será:

True

Esto indica que la subcadena "world" está presente en la cadena de texto "Hello, world!".

Intentemos verificar una subcadena que no existe:

text = "Hello, world!"
print("python" in text)

Guarda el archivo y ejecútalo nuevamente:

python string_membership.py

La salida será:

False

Esto indica que la subcadena "python" no está presente en la cadena de texto "Hello, world!".

Usar in con tuplas:

Las tuplas son similares a las listas, pero son inmutables (no se pueden cambiar después de su creación). También puedes usar el operador in con tuplas. Crea un archivo llamado tuple_membership.py en tu directorio ~/project utilizando el editor VS Code. Agrega el siguiente código a tuple_membership.py:

numbers = (1, 2, 3, 4, 5)
print(3 in numbers)

Guarda el archivo. Ahora, ejecuta el script utilizando el siguiente comando en la terminal:

python tuple_membership.py

La salida será:

True

Esto indica que el número 3 está presente en la tupla numbers.

Verifiquemos un número que no existe:

numbers = (1, 2, 3, 4, 5)
print(6 in numbers)

Guarda el archivo y ejecútalo nuevamente:

python tuple_membership.py

La salida será:

False

Esto indica que el número 6 no está presente en la tupla numbers.

Estos ejemplos demuestran la versatilidad del operador in en Python. Se puede utilizar para verificar la pertenencia en varios tipos de datos iterables, lo que lo convierte en una herramienta valiosa para escribir código conciso y legible.

Encontrar el índice con index()

En este paso, aprenderás cómo encontrar el índice de un elemento dentro de una lista utilizando el método index(). Este método es útil cuando necesitas saber la posición de un elemento específico en una lista.

Comencemos con la misma lista fruits que usamos en los pasos anteriores. Crea un archivo llamado find_index.py en tu directorio ~/project utilizando el editor VS Code. Agrega el siguiente código a find_index.py:

fruits = ["apple", "banana", "cherry"]
index_of_banana = fruits.index("banana")
print(index_of_banana)

Guarda el archivo. Ahora, ejecuta el script utilizando el siguiente comando en la terminal:

python find_index.py

La salida será:

1

Esto indica que "banana" se encuentra en el índice 1 de la lista fruits. Recuerda que las listas en Python tienen índices que comienzan en cero, lo que significa que el primer elemento está en el índice 0, el segundo en el índice 1, y así sucesivamente.

Ahora, intentemos encontrar el índice de un elemento que no existe en la lista:

fruits = ["apple", "banana", "cherry"]
index_of_grape = fruits.index("grape")
print(index_of_grape)

Guarda el archivo y ejecútalo nuevamente:

python find_index.py

La salida será:

Traceback (most recent call last):
  File "/home/labex/project/find_index.py", line 2, in <module>
    index_of_grape = fruits.index("grape")
ValueError: 'grape' is not in list

Esto genera un error ValueError porque "grape" no se encuentra en la lista fruits. Es importante manejar este posible error cuando se utiliza el método index(). Puedes usar el operador in para verificar si un elemento existe en la lista antes de llamar a index() y evitar el ValueError.

A continuación, se muestra un ejemplo de cómo manejar el ValueError:

fruits = ["apple", "banana", "cherry"]
item_to_find = "grape"

if item_to_find in fruits:
    index_of_item = fruits.index(item_to_find)
    print(f"{item_to_find} is at index {index_of_item}")
else:
    print(f"{item_to_find} is not in the list")

Guarda el archivo y ejecútalo:

python find_index.py

La salida será:

grape is not in the list

Este código primero verifica si item_to_find existe en la lista fruits utilizando el operador in. Si existe, encuentra el índice y lo imprime. De lo contrario, imprime un mensaje que indica que el elemento no está en la lista. Este enfoque evita el ValueError y hace que tu código sea más robusto.

Resumen

En este laboratorio (lab), aprendiste cómo verificar la presencia de elementos específicos dentro de una lista de Python. El método principal consiste en utilizar el operador in, que devuelve True si el elemento existe en la lista y False en caso contrario. También exploraste el operador not in, que proporciona la funcionalidad inversa, devolviendo True si el elemento no se encuentra en la lista.

El laboratorio demostró estos conceptos utilizando una lista de frutas, mostrando cómo verificar la pertenencia de diferentes cadenas de texto (strings) dentro de la lista utilizando tanto el operador in como el operador not in. Los ejemplos proporcionaron fragmentos de código claros y concisos que se pueden adaptar fácilmente para realizar diversas comprobaciones de pertenencia a listas en Python.