Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 20, 2013 23:29:09

sedoi
Зарегистрирован: 2013-09-20
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

"Наложение" одного списка на другой

Здравствуйте!

Имеется список:

a[0]=[1, 3, 5, 7, 9]
a[1]=[10, 8, 6, 4, 2]

Необходимо их как-бы наложить друг на друга, чтобы получился такой:
a=[1, 10, 3, 8, 5, 6, 7, 4, 9, 2]
Как такое можно реализовать?

Списки получаю так:
a = range(1, 11)
a=odds, evens = reduce(lambda (a, b), x: x % 2 and (a + [x], b) or (a, b + [x]), a, ([], []))

Офлайн

#2 Сен. 21, 2013 00:15:24

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

"Наложение" одного списка на другой

>>> import itertools
>>> 
>>> a = [1, 3, 5, 7, 9]
>>> b = [10, 8, 6, 4, 2]
>>> 
>>> c = list(itertools.chain.from_iterable(zip(a, b)))
>>> c
[1, 10, 3, 8, 5, 6, 7, 4, 9, 2]
>>>
для одинаковой длины



Офлайн

#3 Сен. 21, 2013 00:20:02

sedoi
Зарегистрирован: 2013-09-20
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

"Наложение" одного списка на другой

py.user.next, спасибо! То, что надо!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version