Aan de slagBegin gratis

De functie map()

Laten we wat gaan mappen!

Weet je nog hoe zip() werkt? Het voegt gegeven Iterables samen zodat items met dezelfde index in dezelfde tuple terechtkomen. Bovendien wordt de output beperkt door de kortste Iterable.

Je taak is om je eigen functie my_zip() te definiëren met *args die een variabel aantal Iterables voorstellen, bijv. lijsten, strings, tuples, enz. In plaats van een zip-object moet my_zip() meteen een lijst met tuples teruggeven.

Opmerking: eigenlijk zou je eerst moeten controleren of args Iterables bevatten. Voor de eenvoud slaan we dat hier over.

Deze oefening maakt deel uit van de cursus

Oefenen met coding-interviewvragen in Python

Bekijk cursus

Oefeninstructies

  • Haal de Iterable-lengtes lengths uit args met map() en bepaal de minimale lengte.
  • Maak binnen de lus de mapping met map() om de elementen in args met dezelfde index i op te halen.
  • Zet de mapping om naar een tuple en voeg die toe aan de tuple_list.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

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)
Code bewerken en uitvoeren