Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 18, 2011 11:26:19

evilempirer
От:
Зарегистрирован: 2010-06-07
Сообщения: 88
Репутация: +  0  -
Профиль   Отправить e-mail  

Как сложить попарно элементы списков ?

если делать вот так

[x+y for x in array1 for y in array2]
так происходит сложение каждый с каждым, мне же надо чтобы сложились по порядку, первый с первым и тд для образования нового списка.
Знаю, что можно сделать по старинке с счетчиками и прочими плясками, но хотелось бы по питоновски
ps с map() почему то не прокатило.



Офлайн

#2 Фев. 18, 2011 11:30:35

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Как сложить попарно элементы списков ?

In [3]: ls = (1,2,3,4)

In [4]: ls1 = (2,3,4,5)

In [5]: map(lambda x, y: x+y, ls, ls1)
Out[5]: [3, 5, 7, 9]
А у меня прокатило, что я делаю не так?



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#3 Фев. 18, 2011 11:36:09

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Как сложить попарно элементы списков ?

А еще можно lambda поменять на sum - чтобы никто не догадался :)



Офлайн

#4 Фев. 18, 2011 11:48:20

evilempirer
От:
Зарегистрирован: 2010-06-07
Сообщения: 88
Репутация: +  0  -
Профиль   Отправить e-mail  

Как сложить попарно элементы списков ?

z = map(lambda x,y: int(x)*int(y),mass_ip,mass_netmask)
TypeError: int() argument must be a string or a number, not ‘NoneType’
собственно вот, что у меня с map выходить при этом все элементы обоих списков str



Офлайн

#5 Фев. 18, 2011 11:51:57

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Как сложить попарно элементы списков ?

Неправда. У вас где-то в этих списках закралось None



Офлайн

#6 Фев. 18, 2011 11:58:02

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Как сложить попарно элементы списков ?

evilempirer
z = map(lambda x,y: int(x)*int(y),mass_ip,mass_netmask)
По поводу самого действа - вы так маски на ip наложить хотите? тогда, наверное, все таки & а не умножение.



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#7 Фев. 18, 2011 11:59:26

evilempirer
От:
Зарегистрирован: 2010-06-07
Сообщения: 88
Репутация: +  0  -
Профиль   Отправить e-mail  

Как сложить попарно элементы списков ?

все понял, в одном списке генерился лишний элемент



Офлайн

#8 Фев. 18, 2011 12:05:53

evilempirer
От:
Зарегистрирован: 2010-06-07
Сообщения: 88
Репутация: +  0  -
Профиль   Отправить e-mail  

Как сложить попарно элементы списков ?

PooH
По поводу самого действа - вы так маски на ip наложить хотите? тогда, наверное, все таки & а не умножение.
целочисленные ноли на единицы и так неплохо умножаются =)



Офлайн

#9 Фев. 18, 2011 12:20:01

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Как сложить попарно элементы списков ?

evilempirer
PooH
По поводу самого действа - вы так маски на ip наложить хотите? тогда, наверное, все таки & а не умножение.
целочисленные ноли на единицы и так неплохо умножаются =)
аааа… понял я что за строки у вас были :)

могу порекомендовать библиотечку http://c0re.23.nu/c0de/IPy/, в свое время сильно мне время сэкономила



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Отредактировано (Фев. 18, 2011 12:22:10)

Офлайн

#10 Фев. 18, 2011 12:32:54

evilempirer
От:
Зарегистрирован: 2010-06-07
Сообщения: 88
Репутация: +  0  -
Профиль   Отправить e-mail  

Как сложить попарно элементы списков ?

PooH
могу порекомендовать библиотечку http://c0re.23.nu/c0de/IPy/, в свое время сильно мне время сэкономила
=( я уже свое навеловсипедил



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version