Cómo comprobar si una lista contiene un número 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 número en Python, centrándote en el manejo de listas de tipos mixtos. Comenzarás explorando listas de tipos mixtos, que contienen elementos de diferentes tipos de datos, como enteros, cadenas de texto y booleanos.

Crearás un archivo mixed_list.py, lo llenarás con una lista de tipos mixtos y practicarás acceder y modificar sus elementos utilizando índices. Esta experiencia práctica proporcionará una base para identificar elementos numéricos dentro de tales listas utilizando técnicas como any() e isinstance(), que se cubren en los pasos posteriores.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python/BasicConceptsGroup -.-> python/variables_data_types("Variables and Data Types") python/BasicConceptsGroup -.-> python/numeric_types("Numeric Types") python/BasicConceptsGroup -.-> python/type_conversion("Type Conversion") python/ControlFlowGroup -.-> python/for_loops("For Loops") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") subgraph Lab Skills python/variables_data_types -.-> lab-559523{{"Cómo comprobar si una lista contiene un número en Python"}} python/numeric_types -.-> lab-559523{{"Cómo comprobar si una lista contiene un número en Python"}} python/type_conversion -.-> lab-559523{{"Cómo comprobar si una lista contiene un número en Python"}} python/for_loops -.-> lab-559523{{"Cómo comprobar si una lista contiene un número en Python"}} python/build_in_functions -.-> lab-559523{{"Cómo comprobar si una lista contiene un número en Python"}} python/data_collections -.-> lab-559523{{"Cómo comprobar si una lista contiene un número en Python"}} end

Explorar listas de tipos mixtos

En este paso, aprenderás sobre las listas de tipos mixtos en Python. Una lista de tipos mixtos es una lista que contiene elementos de diferentes tipos de datos, como enteros, cadenas de texto y booleanos. Comprender cómo trabajar con listas de tipos mixtos es esencial para manejar datos diversos en tus programas de Python.

Primero, creemos una lista de tipos mixtos. Abre el editor de VS Code en el entorno de LabEx y crea un nuevo archivo llamado mixed_list.py en el directorio ~/project.

## Create a mixed-type list
my_list = [1, "hello", 3.14, True]

## Print the list
print(my_list)

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

python ~/project/mixed_list.py

Deberías ver la siguiente salida:

[1, 'hello', 3.14, True]

Como puedes ver, la lista my_list contiene un entero, una cadena de texto, un número de punto flotante y un valor booleano.

A continuación, accedamos a los elementos de la lista de tipos mixtos utilizando índices:

## Access elements of the list
first_element = my_list[0]
second_element = my_list[1]
third_element = my_list[2]
fourth_element = my_list[3]

## Print the elements
print("First element:", first_element)
print("Second element:", second_element)
print("Third element:", third_element)
print("Fourth element:", fourth_element)

Agrega estas líneas a tu archivo mixed_list.py y guárdalo. Luego, ejecuta el script nuevamente:

python ~/project/mixed_list.py

La salida debería ser:

[1, 'hello', 3.14, True]
First element: 1
Second element: hello
Third element: 3.14
Fourth element: True

También puedes modificar los elementos de una lista de tipos mixtos:

## Modify an element
my_list[0] = "new value"

## Print the modified list
print(my_list)

Agrega estas líneas a tu archivo mixed_list.py y guárdalo. Ejecuta el script una vez más:

python ~/project/mixed_list.py

La salida ahora debería ser:

['new value', 'hello', 3.14, True]

En este ejemplo, cambiamos el primer elemento de la lista de un entero a una cadena de texto.

Las listas de tipos mixtos son flexibles y pueden ser útiles en diversas situaciones. Sin embargo, es importante tener en cuenta los tipos de datos al realizar operaciones en los elementos de una lista de tipos mixtos para evitar errores inesperados.

Usar any() con isinstance()

En este paso, aprenderás cómo usar la función any() en combinación con la función isinstance() para verificar si una lista contiene al menos un elemento de un tipo específico. Esto es especialmente útil cuando se trabaja con listas de tipos mixtos.

La función any() devuelve True si algún elemento en un iterable (como una lista) es verdadero. De lo contrario, devuelve False. La función isinstance() comprueba si un objeto es una instancia de una clase o tipo especificado.

Creemos un script de Python para demostrar esto. En el editor de VS Code, crea un nuevo archivo llamado any_isinstance.py en el directorio ~/project.

## Create a mixed-type list
my_list = [1, "hello", 3.14, True]

## Check if the list contains any integers
has_integer = any(isinstance(x, int) for x in my_list)

## Print the result
print("List contains an integer:", has_integer)

## Check if the list contains any strings
has_string = any(isinstance(x, str) for x in my_list)

## Print the result
print("List contains a string:", has_string)

## Check if the list contains any floats
has_float = any(isinstance(x, float) for x in my_list)

## Print the result
print("List contains a float:", has_float)

## Check if the list contains any booleans
has_bool = any(isinstance(x, bool) for x in my_list)

## Print the result
print("List contains a boolean:", has_bool)

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

python ~/project/any_isinstance.py

Deberías ver la siguiente salida:

List contains an integer: True
List contains a string: True
List contains a float: True
List contains a boolean: True

En este ejemplo, usamos una expresión generadora (isinstance(x, int) for x in my_list) dentro de la función any(). Esta expresión generadora produce True si un elemento x es una instancia de int, y False en caso contrario. La función any() luego comprueba si alguno de estos valores es True.

Modifiquemos la lista para ver cómo cambia la salida. Cambia el primer elemento de my_list a un número de punto flotante:

## Create a mixed-type list
my_list = [1.0, "hello", 3.14, True]

## Check if the list contains any integers
has_integer = any(isinstance(x, int) for x in my_list)

## Print the result
print("List contains an integer:", has_integer)

## Check if the list contains any strings
has_string = any(isinstance(x, str) for x in my_list)

## Print the result
print("List contains a string:", has_string)

## Check if the list contains any floats
has_float = any(isinstance(x, float) for x in my_list)

## Print the result
print("List contains a float:", has_float)

## Check if the list contains any booleans
has_bool = any(isinstance(x, bool) for x in my_list)

## Print the result
print("List contains a boolean:", has_bool)

Guarda el archivo y ejecútalo de nuevo:

python ~/project/any_isinstance.py

La salida ahora debería ser:

List contains an integer: False
List contains a string: True
List contains a float: True
List contains a boolean: True

Ahora, la lista no contiene ningún entero, por lo que has_integer es False.

Esta técnica es útil para validar el contenido de una lista o para realizar diferentes acciones en función de los tipos de elementos presentes en la lista.

Encontrar elementos numéricos

En este paso, aprenderás cómo encontrar y extraer elementos numéricos (enteros y números de punto flotante) de una lista de tipos mixtos. Esto implica iterar a través de la lista y utilizar la función isinstance() para identificar los elementos numéricos.

Creemos un script de Python para demostrar esto. En el editor de VS Code, crea un nuevo archivo llamado find_numeric.py en el directorio ~/project.

## Create a mixed-type list
my_list = [1, "hello", 3.14, True, 5, "world", 2.71]

## Create an empty list to store numeric elements
numeric_elements = []

## Iterate through the list
for element in my_list:
    ## Check if the element is an integer or a float
    if isinstance(element, (int, float)):
        ## Add the element to the numeric_elements list
        numeric_elements.append(element)

## Print the list of numeric elements
print("Numeric elements:", numeric_elements)

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

python ~/project/find_numeric.py

Deberías ver la siguiente salida:

Numeric elements: [1, 3.14, 5, 2.71]

En este ejemplo, iteramos a través de my_list y utilizamos isinstance(element, (int, float)) para comprobar si cada elemento es un entero o un número de punto flotante. Si lo es, lo agregamos a la lista numeric_elements.

Modifiquemos el script para que también imprima la suma de los elementos numéricos:

## Create a mixed-type list
my_list = [1, "hello", 3.14, True, 5, "world", 2.71]

## Create an empty list to store numeric elements
numeric_elements = []

## Iterate through the list
for element in my_list:
    ## Check if the element is an integer or a float
    if isinstance(element, (int, float)):
        ## Add the element to the numeric_elements list
        numeric_elements.append(element)

## Print the list of numeric elements
print("Numeric elements:", numeric_elements)

## Calculate the sum of the numeric elements
numeric_sum = sum(numeric_elements)

## Print the sum
print("Sum of numeric elements:", numeric_sum)

Guarda el archivo y ejecútalo de nuevo:

python ~/project/find_numeric.py

La salida ahora debería ser:

Numeric elements: [1, 3.14, 5, 2.71]
Sum of numeric elements: 11.85

Esto demuestra cómo extraer tipos específicos de elementos de una lista de tipos mixtos y realizar operaciones con ellos. Esta técnica es útil para tareas de limpieza y preprocesamiento de datos.

Resumen

En este laboratorio, exploraste listas de tipos mixtos en Python, que pueden contener elementos de diferentes tipos de datos como enteros, cadenas de texto, números de punto flotante y booleanos. Aprendiste cómo crear este tipo de listas, acceder a sus elementos utilizando índices y modificar elementos dentro de la lista.

El laboratorio demostró cómo imprimir la lista completa y elementos individuales, mostrando la capacidad de manejar diversos tipos de datos dentro de una única estructura de lista. También practicaste cambiar el valor de un elemento en un índice específico, lo que demuestra aún más la flexibilidad de las listas de tipos mixtos en Python.