2013-08-06 5 views

ответ

2

Вы можете использовать функцию zip(...).

>>> for elem in zip(*l): 
     for a in elem: 
      print(a) 


1 
a 
x 
2 
b 
y 
3 
c 
z 

Также, вы можете использовать zip_longest(...) (izip_longest для Py2x) для списков разной длины.

>>> from itertools import zip_longest 
>>> l=[[1,2,3],["a","b","c"],["x","y"]] 
>>> for elem in zip_longest(*l, fillvalue='Empty'): 
     print(elem) 


(1, 'a', 'x') 
(2, 'b', 'y') 
(3, 'c', 'Empty') 
+0

использование распаковать не секунда для цикла! –

+0

Это зависит от того, сколько значений в последовательности. OP говорит, что это упрощенный пример, поэтому я сделал общий случай. –

+0

Благодарим за то, что вы показываете ровную длину. Это будет полезно позже. @PeterVaro Каковы плюсы и минусы распаковки? – fozbstuios

Смежные вопросы