Используйте map
, а также есть оператор для добавления operator.add
:
>>> import operator
>>> list(map(operator.add, list1, list2))
[6, 6, 6, 6, 6]
Из документации .map
принимает функцию в качестве первого аргумента и переменное число iterable аргументов.Ключевым моментом является то, что функция должна принимать столько аргументов, сколько итераций дано map
.Это единственное «ограничение», которое нужно учитывать.Так, например:
map(lambda x: x+1, range(10))
map(lambda x, y: x+y, range(10), range(10))
map(lambda x, y, z: x+y+z, range(10), range(10), range(10))
И так далее ...
Также он может принимать любую другую функцию, определенную пользователем:
def checkString(s):
return isinstance(s, str) and len(s) > 10
>>> list(map(checkString, ["foo", "fooooooooooooooooooooo"]))
[False, True]