Funcția map()
Să exersăm puțin cu map()!
Îți amintești cum funcționează zip()? Aceasta combină Iterabile, astfel încât elementele cu același index ajung în același tuplu. În plus, rezultatul este limitat de cel mai scurt Iterabil.
Sarcina ta este să definești propria funcție my_zip() cu *args reprezentând un număr variabil de Iterabile, de ex. liste, șiruri de caractere, tupluri etc. În loc să returneze un obiect zip, my_zip() ar trebui să returneze direct o listă de tupluri.
Observație: în mod normal, ar trebui să verifici dacă args conține Iterabile, dar omitem acest pas pentru simplitate.
Acest exercițiu face parte din cursul
Exersarea întrebărilor de interviu de programare în Python
Instrucțiuni pentru exercițiu
- Obține
lengths(lungimile) dinargsfolosindmap()și determină lungimea minimă. - În interiorul buclei, creează
mappingfolosindmap()pentru a prelua elementele dinargscu același indexi. - Convertește mapping-ul într-un tuplu și adaugă-l la
tuple_list.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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)