Форум сайта python.su
map(…)
да, по ходу третий питон выходит из этого дела, когда один из списков закончился
тогда как второй продолжает работать
Офлайн
Для третьего Питона аналогом будет что-нибудь типа этого:
list(map(sum, itertools.zip_longest([1,2,3], [4,5], fillvalue=0)))
Отредактировано (Ноя. 16, 2010 10:42:56)
Офлайн
вот чуть ещё прояснил
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)))
Офлайн
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
Офлайн
Edну это типа вот это вот с try (типа True, False, не знал как написать)
А что такое python_v_3?
Отредактировано (Ноя. 17, 2010 00:02:12)
Офлайн
я вам всем очень благодарна!:)
Офлайн
NN:
>>> l
>>> l.extend(l.pop(0) for i in xrange(3))
>>> l
>>>
Офлайн
Virtuos86l, l = l, l
>>> l.extend(l.pop(0) for i in xrange(3))
Офлайн