Zacznij terazZacznij za darmo

Funkcja map()

Czas na trochę mapowania!

Czy pamiętasz, jak działa zip()? Scala ona podane obiekty iterowalne tak, że elementy o tym samym indeksie trafiają do tej samej krotki. Co więcej, wynik jest ograniczony przez najkrótszy obiekt iterowalny.

Twoim zadaniem jest zdefiniowanie własnej funkcji my_zip() z parametrem *args reprezentującym zmienną liczbę obiektów iterowalnych – np. list, łańcuchów znaków, krotek itp. Zamiast obiektu zip, funkcja my_zip() powinna od razu zwracać listę krotek.

Uwaga: w praktyce należałoby sprawdzić, czy elementy args są obiektami iterowalnymi, ale dla uproszczenia pomijamy ten krok.

To ćwiczenie jest częścią kursu

Ćwiczenie pytań na rozmowach kwalifikacyjnych z programowania w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Pobierz długości lengths obiektów iterowalnych z args za pomocą map() i wyznacz minimalną długość.
  • Wewnątrz pętli utwórz zmienną mapping, używając map() do pobrania elementów z args o tym samym indeksie i.
  • Przekonwertuj mapowanie na krotkę i dołącz ją do tuple_list.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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)
Edytuj i uruchom kod