Python tiene diferentes tipos de datos para almacenar la colección de datos. Lista de Python es uno de ellos y una lista puede contener diferentes tipos de datos como número, cadena, booleano, etc. A veces, se requiere buscar elementos particulares en una lista. Los elementos pueden ser buscados en la lista de python de varias maneras. Cómo se puede encontrar cualquier elemento y una lista de elementos en la lista se explican en este tutorial utilizando varios ejemplos.
- Ejemplo-1: Buscar un solo elemento en una lista utilizando el operador ‘in’
- Ejemplo-2: Encontrar un elemento utilizando el método del índice
- Ejemplo-3: Encontrar múltiples índices en una lista
- Ejemplo-4: Encontrar un elemento utilizando la función personalizada
- Ejemplo-5: Encontrar y contar los elementos de una lista basándose en la longitud
- Conclusión:
Ejemplo-1: Buscar un solo elemento en una lista utilizando el operador ‘in’
El siguiente script muestra cómo se puede buscar fácilmente cualquier elemento en una lista utilizando el operador ‘in’ sin utilizar ningún bucle. Se define una lista de nombres de flores en el script y se tomará un nombre de flor como entrada del usuario para buscar en la lista. Se utiliza la sentencia If con el operador ‘in’ para encontrar el nombre de la flor de entrada en la lista.
# Definir una lista de flores
flowerList =
# Tomar el nombre de la flor que se quiere buscar en la lista
flowerName = input(«Enter a flower name:»)
# Buscar el elemento utilizando el operador ‘in’
if flowerName.lower() in flowerList:
# Imprime el mensaje de éxito
print(«%s se ha encontrado en la lista» %(nombre de la flor))
Si no:
# Imprime el mensaje de no encontrado
print(«%s no se ha encontrado en la lista» %(nombre de la flor))
Salida:
La salida muestra que Narciso existe en la lista y Lirio no existe en la lista.
Ejemplo-2: Encontrar un elemento utilizando el método del índice
Otra forma sencilla de encontrar un elemento concreto en una lista utilizando el método del índice. El siguiente script muestra el uso del método index() para buscar un elemento en una lista. Este método devuelve una posición de índice válida si el elemento concreto se encuentra en la lista, de lo contrario generará un ValueError si se quiere almacenar la posición en una variable.El bloque try imprimirá el mensaje de éxito si el método index() devuelve un valor de posición válido basado en el valor de búsqueda. ¡El bloque except imprimirá el mensaje de fallo si el elemento buscado no existe en la lista.
try:
# Definir una lista de libros
bookList =
# Tomar el nombre del libro que se quiere buscar en la lista
bookName = input(«Introduzca un nombre de libro:»)
# Buscar el elemento utilizando el método de índice
search_pos = int(bookList.index(bookName))
# Imprimir mensaje encontrado
print(«%s libro se encuentra en la lista» %(bookName))
except(ValueError):
# Imprimir mensaje no encontrado
print(«%s libro no se encuentra en la lista» %(bookName))
Salida:
La salida muestra que ‘Goodnight Moon’ existe en la lista y que ‘Charlie and the Chocolate Factory’ no existe en la lista.
Ejemplo-3: Encontrar múltiples índices en una lista
Cómo se puede encontrar un solo elemento en una lista se muestra en los dos ejemplos anteriores. El siguiente script muestra cómo se pueden buscar todos los elementos de una lista dentro de otra lista. En este script se utilizan tres listas. selectedList es la lista principal en la que se buscarán los elementos de searchList. foundList se utiliza aquí para almacenar los elementos que se encuentran en selectedList después de la búsqueda. ¡El primer bucle for se utiliza para generar foundList y el segundo bucle for se utiliza para iterar foundList y mostrar la salida.
# Definir una lista de personas seleccionadas
selectedList =
# Definir una lista de personas en búsqueda
searchList =
# Definir una lista vacía
foundList =
# Iterar cada elemento de la lista seleccionada
for index, sList in enumerate(selectedList):
# Comparar el elemento con el elemento de searchList
if sList in searchList:
# Almacenar el valor en foundList si se encuentra la coincidencia
foundList.append(selectedList)
# iterar la searchList
for val in searchList:
# Comprobar si el valor existe en foundList o no
if val in foundList:
print(«%s está seleccionado.\n» %val)
else:
print(«%s no está seleccionado.\n» %val)
Salida:
La siguiente salida aparecerá después de ejecutar la palabra.
Ejemplo-4: Encontrar un elemento utilizando la función personalizada
Si quieres encontrar el elemento varias veces en una lista entonces es mejor utilizar un método de búsqueda personalizado en lugar de escribir un script de búsqueda varias veces. El siguiente script muestra cómo se puede encontrar cualquier valor en una lista utilizando una función personalizada llamada findElement. ¡La función devolverá True si la lista contiene el elemento buscado, de lo contrario devolverá False.
# Definir una lista de alimentos
alimentos =
# Tomar un nombre de alimento del usuario
buscar = input(‘Escriba su comida favorita : ‘)
# Definir la función personalizada para encontrar elemento en la lista
def findElement(listName, searchElement):
# Leer la lista usando el bucle
for value in listName:
# Comprueba si el valor del elemento es igual al valor de búsqueda o no
if value == searchElement:
return True
# Devuelve false si no se encuentra ninguna coincidencia
return False
# Llama a la función con el nombre de la lista y el valor de búsqueda
if findElement(food, search.lower()):
print(«%s se encuentra» %search)
else:
print(«%s no se encuentra» %search)
Salida:
La siguiente salida aparecerá para la entrada ‘Tarta’ y ‘Tarta de chocolate’.
Ejemplo-5: Encontrar y contar los elementos de una lista basándose en la longitud
El siguiente script muestra cómo se puede encontrar y contar el número de elementos de una lista basándose en la longitud del elemento. Aquí, la lista llamada personas se itera utilizando el bucle for y se comprueba la longitud de cada elemento de la lista. ¡El valor del contador se incrementa si la longitud del elemento es mayor o igual a 7.
# Definir una lista de personas
personas =
# Inicializar elcontador
counter = 0
# Iterar la lista utilizando el bucle
for name in persons:
# Comprobar la longitud del elemento
if (len(name) >= 7) :
# Incrementa el contador en uno
contador = contador + 1
# Comprueba el valor del contador
si (contador > 0):
print(«La longitud del nombre de la(s) persona(s) es/son más de 7.» %counter)
else:
print(«La longitud del nombre de todas las personas es inferior a 7.»)
Salida:
La siguiente salida aparecerá después de ejecutar el script.
Conclusión:
En este tutorial se muestran diferentes formas de buscar elementos individuales y múltiples en la lista utilizando el operador in, el método de índice y la función personalizada. El lector será capaz de realizar búsquedas correctamente en la lista de python después de leer este tutorial.
Mira el vídeo del autor: aquí