Задача на пейтон! Задача 2. Свой zip 2
Написав аналог функции zip на собеседовании вы вспомнили, что этот код можно сделать даже лучше, и резко вырвали листок с кодом из рук работодателя, оставив его в прострации.
Напишите функцию, которая будет являться аналогом функции zip и сделайте так, чтобы программа работала с любыми итерируемыми типами данных. Циклами (за исключением генераторов), условными операторами и функциями определения типа(isinstance или type) пользоваться нельзя. Функция должна возвращать список из пар кортежей.
Основной код оставьте пустым или закомментированным (используйте его только для тестирования).
Пример 1:
a = [{‘x’: 4}, ‘b’, ‘z’, ‘d’]
b = (10, {20,}, [30], ‘z’)
print(my_zip(a, b)) -> [({‘x’: 4}, 10), (‘b’, {20}), (‘z’, [30]), (‘d’, ‘z’)]
Пример 2:
a = [1, 2, 3, 4, 5]
b = {1: ‘s’, 2: ‘q’, 3: 4}
x = (1, 2, 3, 4, 5)
print(my_zip(a, b, x)) -> [(1, 1, 1), (2, 2, 2), (3, 3, 3)]
```

14 Фев 2022 в 19:41
4 439 +2
0
Ответы
1

def my_zip(*args):

length = min(len(element) for element in args)

tpl_list = [tuple(struct[i] for struct in map(list, args)) for i in range(length)]

return tpl_list

9 Апр 2022 в 15:52
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир