Нужен рабочий код по Python
Напишите функцию zip_with_function(), которая принимает список списков и функцию, которая принимает несколько аргументов и возвращает значение. Функция zip_with_function() должна использовать функцию zip() для объединения списков в кортежи, а затем применять заданную функцию к кортежам из соответствующих позиций каждого списка. Результатом должен быть новый список, содержащий значения, возвращаемые функцией для каждой комбинации элементов.
Например, имеется функция
def get_sum_two_numbers(a, b):
return a + b
Тогда вызов
zip_with_function([[1, 2, 4], [3, 5, 8]], get_sum_two_numbers)
должен вернуть список [4, 7, 12].
Ваша задача написать только определение функции zip_with_function
Sample Input:
Sample Output:
GOOD
Всё уже придумано до нас:
from itertools import starmap
zip_with_function = lambda lst, f: list(starmap(f, zip(*lst))) def zip_with_function(lists, func):
return [func(*args) for args in zip(*lists)]
def zip_with_function(lst, f):
return list(map(lambda args: f(*args), zip(*lst))) def zip_with_function(x, func):
____result = []
____for i in zip(*x):
________ result.append(func(*i))
____return result
def get_sum_two_numbers(a, b):
return a + b
def zip_with_function(m, f):
return [f(i[0], i[1]) for i in zip(m[0],m[1])]
print(zip_with_function([[1, 2, 4], [3, 5, 8]], get_sum_two_numbers)) 4 7 12