Funkce map()
Pojďme si procvičit mapování!
Pamatuješ si, jak funguje zip()? Spojí zadané iterovatelné objekty tak, že prvky se stejným indexem skončí ve stejné n-tici. Výstup je navíc omezen délkou nejkratšího iterovatelného objektu.
Tvým úkolem je definovat vlastní funkci my_zip() s parametrem *args, který představuje proměnný počet iterovatelných objektů – například seznamy, řetězce nebo n-tice. Místo objektu zip má my_zip() rovnou vracet seznam n-tic.
Poznámka: V praxi by bylo vhodné ověřit, zda args obsahuje iterovatelné objekty. Pro jednoduchost to ale vynecháme.
Toto cvičení je součástí kurzu
Procvičování otázek z kódovacích pohovorů v Pythonu
Pokyny k cvičení
- Pomocí
map()získej zargsdélky iterovatelných objektů do proměnnélengthsa najdi minimální délku. - Uvnitř smyčky vytvoř
mappingpomocímap()tak, aby se z každého objektu vargsnačetl prvek s indexemi. - Převeď mapování na n-tici a přidej ji do
tuple_list.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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)