• Saltar al contenido principal
  • Skip to secondary menu
  • Saltar a la barra lateral principal
  • Saltar al pie de página
  • Inicio
  • Secciones
    • Ciencia de datos
    • Criptografía
    • Herramientas
    • Machine Learning
    • Noticias
    • Opinión
    • Productividad
    • Programación
      • JavaScript
      • Julia
      • Matlab
      • Python
      • R
  • Programación
    • JavaScript
    • Julia
    • Matlab
    • Python
    • R
  • Noticias
  • Boletín
  • Contacto
  • Tienda
    • Libros
    • Equipamiento de oficina
    • Equipamiento en movilidad
    • Tiendas afiliadas
      • AliExpress
      • Amazon
      • Banggood
      • GeekBuying
      • Lenovo

Analytics Lane

Ciencia e ingeniería de datos aplicada

  • Ciencia de datos
  • Machine Learning
  • Python
  • Pandas
  • NumPy
  • Matlab
  • Julia
  • JavaScript
  • Excel

Desempaquetado en Python de una tupla o lista

septiembre 12, 2022 Por Daniel Rodríguez Deja un comentario
Tiempo de lectura: 3 minutos

En algunas ocasiones, como puede ser los valores que devuelve una función, nos podemos encontrar con una tupla, o lista, que contiene varios valores de los cuales solamente nos interesan unos pocos. Por lo que extraer solamente estos valores y quedarnos con los necesarios puede simplificar los posteriores análisis. Algo que se puede conseguir mediante el desempaquetado en Python de una tupla o lista. Una tarea más sencilla de lo que parece.

Desempaquetando en Python de una tupla

Supongamos que en una sesión de Python se tienen en la variable datos una tupla con tres valores. En el caso de que se desee extraer cada uno de estos valores a una variable diferente se puede conseguir seleccionado cada uno de ellos usando los índices y asignándoles a cada una de ellas. Aunque existe una opción más sencilla, el desempaquetado de la tupla. Algo que simplemente requiere escribir entre paréntesis, o corchetes, el nombre de tres variables y asignar a este la tupla. Lo que se puede ver en el siguiente código.

datos = ('Elemento 1', 'Elemento 2', 'Elemento 3')

(var1, var2, var3) = datos

print(var1)
print(var2)
print(var3)
Elemento 1
Elemento 2
Elemento 3

Un ejemplo en el que primero se crean una tupla con tres cadenas de texto y posteriormente se asigna cada una de estas cadenas a una variable. Lo que se puede comprobar sacando por pantalla cada una de las variables.

El número de variables tiene que ser igual al de elementos

A la hora de desempaquetar en Python de una tupla es necesario tener en cuenta que es necesario indicar tantas variables como elementos. En caso contrario se producirá un error, algo que se puede comprobar ejecutando el siguiente código.

(var1, var2) = datos
ValueError                                Traceback (most recent call last)
Input In [2], in <cell line: 1>()
----> 1 (var1, var2) = datos

ValueError: too many values to unpack (expected 2)

Produciendo un error que nos indica que hay demasiados valores para desempaquetar. Sucediendo algo similar en el caso contrario, cuando hay demasiados valores como sucede en el siguiente ejemplo.

Publicidad


(var1, var2, var3, var4) = datos
ValueError                                Traceback (most recent call last)
Input In [3], in <cell line: 1>()
----> 1 (var1, var2, var3, var4) = datos

ValueError: not enough values to unpack (expected 4, got 3)

Aunque en este caso el error generado es diferente, señalando que hay pocos valores para desempaquetar.

Uso de * para guardar valores en una tupla

Cuando se desconoce el número de elementos, o solamente se desean los primeros, se puede usar * antes de la última variable para indicar que el resto de los objetos de carguen en esta. Así el último elemento será una nueva tupla con todos los valores no asignados. En el siguiente trozo de código se puede ver el funcionamiento de este modificador.

(var1, *var2) = datos

print(var1)
print(var2)
Elemento 1
['Elemento 2', 'Elemento 3']

En los resultados se puede ver que los dos últimos valores se han cargado en una nueva lista.

Desempaquetando en Python de una lista

Lo que se ha visto hasta ahora para las tuplas aplica también para las listas sin necesidad de hacer ningún cambio. El siguiente código, donde datos es ahora una lista, funciona igual que los ejemplos anteriores.

datos = ['Elemento 1', 'Elemento 2', 'Elemento 3']

(var1, var2, var3) = datos

print(var1)
print(var2)
print(var3)
Elemento 1
Elemento 2
Elemento 3

Conclusiones

El proceso de desempaquetado en Python de una tupla o lista es una operación sencilla con la que se puede asignar el contenido de uno de estos objetos a unas variables. Haciendo que el código sea más fácil de leer al poder asignar un nombre significativo a cada una de las variables.

Publicidad


Imagen de Mediamodifier en Pixabay

¿Te ha parecido de utilidad el contenido?

¡Puntúalo entre una y cinco estrellas!

Puntuación promedio 0 / 5. Votos emitidos: 0

Ya que has encontrado útil este contenido...

¡Síguenos en redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Déjame mejorar este contenido!

Dime, ¿cómo puedo mejorar este contenido?

Publicaciones relacionadas

  • Análisis de sentimientos con NLTK en Python
    Análisis de sentimientos con NLTK en Python
  • Selección condicional con Pandas
    Selección condicional con Pandas
  • Guardar los modelos de Scikit-learn en disco e importarlo en otra sesión
    Guardar los modelos de Scikit-learn en disco e importarlo en…
  • Importar archivos XML en Python
    Importar archivos XML en Python
  • pandas
    Obtener los primeros registros ordenados de un DataFrame…
  • Uso de Pandas Query para filtrar datos de forma sencilla
    Uso de Pandas Query para filtrar datos de forma sencilla

Publicado en: Python

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

I accept the Terms and Conditions and the Privacy Policy

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Publicidad




Barra lateral principal

Suscríbete a nuestro boletín

Suscríbete al boletín semanal para estar al día de todas las publicaciones.

Política de Privacidad

Analytics Lane en redes sociales

  • Amazon
  • Facebook
  • GitHub
  • Instagram
  • Pinterest
  • RSS
  • Twitter
  • Tumblr
  • YouTube

Publicidad

Entradas recientes

El método de Hare-Niemeyer y su implementación en Python

septiembre 29, 2023 Por Daniel Rodríguez

Redimensionar una partición de disco LVM con espacio no asignado en Linux

septiembre 27, 2023 Por Daniel Rodríguez

¿Cómo saber la versión de Pandas o cualquier otra librería en Python?

septiembre 25, 2023 Por Daniel Rodríguez

Publicidad

Es tendencia

  • ¿Cómo eliminar columnas y filas en un dataframe pandas? publicado el marzo 25, 2019 | en Python
  • Operaciones de filtrado de DataFrame con Pandas en base a los valores de las columnas publicado el mayo 10, 2019 | en Python
  • Seleccionar filas y columnas en Pandas con iloc y loc publicado el junio 21, 2019 | en Python
  • Sistema de ecuaciones Sistemas de ecuaciones lineales con numpy publicado el octubre 29, 2018 | en Python
  • La aplicación Auto Py to Exe Creación de un EXE desde un archivo Python en Windows publicado el mayo 16, 2022 | en Python

Publicidad

Lo mejor valorado

4.9 (22)

Seleccionar filas y columnas en Pandas con iloc y loc

4.7 (12)

Operaciones de filtrado de DataFrame con Pandas en base a los valores de las columnas

4.6 (15)

Archivos JSON con Python: lectura y escritura

4.5 (10)

Diferencias entre var y let en JavaScript

4.3 (12)

Ordenación de diccionarios en Python mediante clave o valor

Publicidad

Comentarios recientes

  • Daniel Rodríguez en ¿Cómo eliminar columnas y filas en un dataframe pandas?
  • Miguel en ¿Cómo eliminar columnas y filas en un dataframe pandas?
  • alberto en Resolver problema de credenciales en Bitbucket
  • Pablo en Aplicar el método D’Hondt en Excel
  • Agapito en Creación de un EXE desde un archivo Python en Windows

Publicidad

Footer

Analytics Lane

  • Acerca de Analytics Lane
  • Boletín de noticias
  • Contacto
  • Libros
  • Lo más popular
  • Noticias
  • Tienda
  • Tiendas afiliadas

Secciones

  • Ciencia de datos
  • Criptografía
  • Herramientas
  • Machine Learning
  • Opinión
  • Productividad
  • Programación
  • Reseñas

Sobre de Analytics Lane

En Analytics Lane tratamos de explicar los principales conceptos de la ciencia e ingeniería de datos con un enfoque práctico. Los principales temas tratados son ciencia de datos, ingeniería de datos, inteligencia artificial, machine learning, deep learning y criptografía. Además, también se habla de los principales lenguajes de programación y herramientas utilizadas por los científicos e ingenieros de datos.

Copyright © 2018-2023 Analytics Lane ·Términos y condiciones ·Política de Cookies ·Política de Privacidad ·Herramientas de privacidad ·Contacto