Задача на пейтон! Задача 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 332 +1
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
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 076 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир