Kom igångKom igång gratis

Funktionen map()

Nu ska vi arbeta med map()!

Kommer du ihåg hur zip() fungerar? Den slår ihop givna itererbara objekt så att element med samma index hamnar i samma tupel. Resultatet begränsas dessutom av det kortaste itererbara objektet.

Din uppgift är att definiera en egen funktion my_zip() med *args som representerar ett variabelt antal itererbara objekt, t.ex. listor, strängar, tuplar o.s.v. I stället för ett zip-objekt ska my_zip() returnera en lista av tuplar direkt.

Kommentar: Egentligen bör args kontrolleras för att säkerställa att de innehåller itererbara objekt, men vi utelämnar det här för enkelhetens skull.

Den här övningen är en del av kursen

Öva på kodningsintervjufrågor i Python

Visa kurs

Övningsinstruktioner

  • Hämta de itererbara längderna lengths från args med hjälp av map() och finn den minimala längden.
  • Skapa i loopen mapping med hjälp av map() för att hämta elementen i args med samma index i.
  • Konvertera mappningen till en tupel och lägg till den i tuple_list.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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)
Redigera och kör kod