Форум сайта python.su
857
map(…)
да, по ходу третий питон выходит из этого дела, когда один из списков закончился
тогда как второй продолжает работать
Офлайн
13
Для третьего Питона аналогом будет что-нибудь типа этого:
list(map(sum, itertools.zip_longest([1,2,3], [4,5], fillvalue=0)))
Отредактировано (Ноя. 16, 2010 10:42:56)
Офлайн
857
вот чуть ещё прояснил
def sum_list_elements(la, lb):
"""Сложить списки одинаковой или разной длины поэлементно."""
shortest, longest = la, lb
if len(shortest) > len(longest):
shortest, longest = longest, shortest
shortest_extended = shortest + [0] * (len(longest) - len(shortest))
return [i + j for i, j in zip(shortest_extended, longest)]
import itertools
if python_v_3:
zip_extended = itertools.zip_longest
elif python_v_2:
zip_extended = itertools.izip_longest
list(map(sum, zip_extended(la, lb, fillvalue=0)))
Офлайн
13
py.user.nextА что такое python_v_3?
с itertools.zip_longest можно делатьif python_v_3:
try:
from itertools import izip_longest as zip_longest
except ImportError:
from itertools import zip_longest
Офлайн
857
Edну это типа вот это вот с try (типа True, False, не знал как написать)
А что такое python_v_3?
Отредактировано (Ноя. 17, 2010 00:02:12)
Офлайн
0
я вам всем очень благодарна!:)
Офлайн
1
NN:
>>> l
>>> l.extend(l.pop(0) for i in xrange(3))
>>> l
>>>
Офлайн
13
Virtuos86l, l = l, l
>>> l.extend(l.pop(0) for i in xrange(3))
Офлайн