Los ejemplos de libros de texto de asignación de desembalaje múltiples son algo así como:Asignación Desembalaje múltiple en Python cuando no se conoce la longitud de la secuencia
import numpy as NP
M = NP.arange(5)
a, b, c, d, e = M
# so of course, a = 0, b = 1, etc.
M = NP.arange(20).reshape(5, 4) # numpy 5x4 array
a, b, c, d, e = M
# here, a = M[0,:], b = M[1,:], etc. (ie, a single row of M is assigned each to a through e)
(Mi Q no es specfic numpy y, de hecho, yo preferiría una pura solución pitón)
W/R/T de la pieza de código que estoy viendo ahora, veo a dos complicaciones en ese escenario sencillo:.
por lo general no sabrá la forma de METRO; y
Quiero desempaquetar un cierto número de artículos (sin duda menos que todos los artículos) y quiero poner el resto en un recipiente sola
así de nuevo a la 5x4 array arriba, lo que me gustaría mucho poder hacer es, por ejemplo, asignar las primeras tres filas de M a a, b, yc respectivamente (exactamente como arriba) y el resto de las filas (tengo no hay idea de cuántos habrá, solo un entero positivo) en un único contenedor, all_the_r est = [].
No estoy seguro de haber explicado esto claramente; en cualquier caso, si recibo comentarios, editaré mi pregunta de inmediato.
Su solución 2.x no funciona. Las cosas que estás desempaquetando no coinciden. –
Para solucionar la solución 2.x, todo lo que se necesita es un paréntesis alrededor de ayb, de modo que la cantidad de valores a asignar coincida. es decir '(a, b), c = someseq [: 2], someseq [2:]' – mjv