ПочатиПочніть безкоштовно

Функція map()

Спробуймо зробити трохи «мапінгу»!

Пам'ятаєте, як працює zip()? Вона об'єднує надані ітерабельні об'єкти так, що елементи з однаковим індексом потрапляють до одного кортежу. Крім того, результат обмежується найкоротшим ітерабельним об'єктом.

Ваше завдання — визначити власну функцію my_zip() з параметром *args, що позначає змінну кількість ітерабельних об'єктів, напр. списки, рядки, кортежі тощо. На відміну від об'єкта zip, my_zip() має одразу повертати список кортежів.

Примітка: варто було б спочатку перевіряти, чи містить args ітерабельні об'єкти. Але задля простоти ми це опустимо.

Ця вправа є частиною курсу

Практика співбесід із програмування на Python

Переглянути курс

Інструкції до вправи

  • Отримайте ітерабельні довжини lengths з args, використовуючи map(), і знайдіть мінімальну довжину.
  • У циклі створіть mapping, застосувавши map() для отримання елементів у args з однаковим індексом i.
  • Перетворіть mapping на кортеж і додайте його до tuple_list.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

def my_zip(*args):
    
    # Retrieve Iterable lengths and find the minimal length
    lengths = list(map(____, ____))
    min_length = ____

    tuple_list = []
    for i in range(0, min_length):
        # Map the elements in args with the same index i
        mapping = map(____, args)
        # Convert the mapping and append it to tuple_list
        tuple_list.append(____(____))

    return tuple_list

result = my_zip([1, 2, 3], ['a', 'b', 'c', 'd'], 'DataCamp')
print(result)
Редагувати та запускати код