Regístrate para acceder a más de 15 cursos gratuitos de programación con un simulador

Desestructuración Python: Listas

La desestructuración (destructuring) es una característica del lenguaje que permite extraer los elementos de una lista y no solo ella en variables separadas de manera sencilla. Aunque es opcional, resulta muy útil.

Imagina que tienes una lista de dos elementos con los que quieres trabajar en tu programa. La forma más sencilla de utilizar sus elementos es referenciar constantemente por índice point[0] y point[1].

point = [3, 5]

print(f`{point[0]}:{point[1]}`) # => 3:5

Los índices no informan nada sobre el contenido, y para entender este código, tendrás que hacer un esfuerzo adicional. Es mucho mejor asignar estos valores a variables con buenos nombres primero. De esta manera, el código se vuelve más legible:

x = point[0]
y = point[1]

print(f`{x}:{y}`) # => 3:5

El código es ahora considerablemente más claro, aunque más largo. Con la desestructuración, puedes hacer lo mismo de manera más concisa:

[x, y] = point
# La lista de la izquierda reproduce la estructura del listado de la derecha
# pero usa identificadores en lugar de valores
# se llenan con los valores en las mismas posiciones en la lista derecha
# [x, y] = [3, 5]
# x = 3, y = 5

print(f`{x}:{y}`) # => 3:5

La desestructuración trabaja a cualquier nivel de anidamiento. Por ejemplo, puedes usarla para extraer datos de listas dentro de listas/

[uno, [dos, tres]] = [1, [2, 3]]

print(uno, dos, tres) # => 1 2 3

Desestructuración en bucles

Puedes descomponer una lista no solo como una instrucción independiente en el código, sino también en bucles 🔄

points = [
  [4, 3],
  [0, -3]
]

for x, y in points:
  print([x, y])

# => [ 4, 3 ]
# => [ 0, -3 ]

En este ejemplo, cada elemento en el bucle es una lista. Sin desestructuración, el bucle se ve así:

for item in points:
  print(item)

Dentro del for, la variable item es una lista, por lo que puedes sustituirla por la desestructuración [x, y].

Desestructuración de palabras

En python, las palabras se comportan de manera similar a las listas y también se pueden desestructurar.

[primero, segundo, tercero] = 'dos'
print(primero) # => 'd'
print(segundo) # => 'o'
print(tercero) # => 's'

Para acceder completo a curso necesitas un plan básico

El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.

Obtener acceso
130
cursos
1000
ejercicios
2000+
horas de teoría
3200
test

Obtén acceso

Cursos de programación para principiantes y desarrolladores experimentados. Comienza tu aprendizaje de forma gratuita

  • 130 cursos, 2000+ horas de teoría
  • 1000 ejercicios prácticos en el navegador
  • 360 000 estudiantes
Al enviar el formulario, aceptas el «Política de privacidad» y los términos de la «Oferta», y también aceptas los «Términos y condiciones de uso»

Nuestros graduados trabajan en empresas como:

Bookmate
Health Samurai
Dualboot
ABBYY