No entiendo exactamente a qué te refieres con " al inicializar las variables...", porque nunca mostraste tu código, pero sospecho que estabas dando un tamaño inicial a las listas. Eso no es necesario para nada, ya que no son de tamaño fijo y estás haciendo más trabajo de la cuenta. Usando un bucle, tu código podría haber sido:
Lista1, Lista2 = [], [] for l1, l2 in Matriz: Lista1.append(l1) Lista2.append(l2) De esa manera no tienes que inicializar las listas de destino: simplemente las creas vacías y vas añadiendo valores según necesitas. 2016-03-17 11:34 GMT-10:00 Jose Manuel Llorente Pinto <manequ...@gmail.com>: > Muchas gracias Ricardo. > Funciona perfectamente. Y además gracias a eso también he conseguido > hacerlo con el bucle for. > El problema residía en que al inicializar las variables no las > dimensionaba bien; cuando me he dado cuenta, he escrito *variable = > [None]*n *y también corre. > Muy agradecido. > > El 17 de marzo de 2016, 21:03, Ricardo Cárdenes < > ricardo.carde...@gmail.com> escribió: > >> De todas maneras, te respondo. Eso es un problema conocido y la manera >> más rápida de hacer lo que quieres es esto: >> >> Lista1, Lista2 = zip(*Matriz) >> >> usando herramientas propias de Python. Pero si necesitas escribir código >> que lo haga (eg. para una tarea que precise mostrar que sabes usar bucles), >> mejor no uses eso. >> >> Saludos, >> Ricardo >> >> 2016-03-17 9:59 GMT-10:00 Ricardo Cárdenes <ricardo.carde...@gmail.com>: >> >>> Muestra el código que has intentado. >>> >>> Saludos, >>> Ricardo >>> >>> 2016-03-17 9:32 GMT-10:00 Jose Manuel Llorente Pinto < >>> manequ...@gmail.com>: >>> >>>> Tengo una lista equivalente a una matriz de n filas por 2 columnas y >>>> quiero individualizar cada una de las dos columnas. Lo he intentado con >>>> diferentes bucles for, pero en todos los casos me arroja un error del tipo >>>> "list assignment index out of range". >>>> Un ejemplo de lo que pretendo sería lo siguiente: >>>> >>>> Matriz = [[8,2], [4,3], [9,1], [3,5], [5,4], [3,1], [1,1]] >>>> >>>> y quiero obtener: >>>> >>>> Lista1 = [8,4,9,3,5,3,1] >>>> Lista2 = [2,3,1,5,4,1,1] >>>> >>>> Como me estoy iniciando en Python es probable que la resolución de esto >>>> sea bastante simple , pero después de buscar y buscar no he encontrado >>>> ninguna solución. >>>> >>>> Muchas gracias. >>>> >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es@python.org >>>> https://mail.python.org/mailman/listinfo/python-es >>>> FAQ: http://python-es-faq.wikidot.com/ >>>> >>>> >>> >> >> _______________________________________________ >> Python-es mailing list >> Python-es@python.org >> https://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > _______________________________________________ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > >
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/