Top.Mail.Ru
Ответы

Нужен рабочий код по 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

По дате
По рейтингу
Аватар пользователя
Новичок

Всё уже придумано до нас:

12
 from itertools import starmap
zip_with_function = lambda lst, f: list(starmap(f, zip(*lst))) 
Аватар пользователя
Гений
123
 def zip_with_function(lists, func): 
    return [func(*args) for args in zip(*lists)] 
 
Аватар пользователя
Мудрец
12
 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

Аватар пользователя
Мыслитель
1234567
 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



Видео по теме