reduce() și funcții lambda
Devii tot mai priceput la utilizarea funcțiilor lambda! Iată încă o funcție pe care o poți adăuga în arsenalul tău. Funcția reduce() este utilă pentru a efectua calcule pe o listă și, spre deosebire de map() și filter(), returnează o singură valoare ca rezultat. Pentru a folosi reduce(), trebuie să o imporți din modulul functools.
Îți amintești de gibberish() din câteva exerciții în urmă?
# Define gibberish
def gibberish(*args):
"""Concatenate strings in *args together."""
hodgepodge = ''
for word in args:
hodgepodge += word
return hodgepodge
gibberish() primește pur și simplu o listă de șiruri de caractere ca argument și returnează, ca valoare unică, concatenarea tuturor acestor șiruri. În acest exercițiu, vei reproduce această funcționalitate folosind reduce() și o funcție lambda care concatenează șiruri de caractere.
Acest exercițiu face parte din cursul
Introducere în funcții în Python
Instrucțiuni pentru exercițiu
- Importă funcția
reducedin modululfunctools. - În apelul
reduce(), transmite o funcție lambda care primește două argumente de tip șir de caractere,item1șiitem2, și le concatenează; transmite și lista de șiruri de caracterestark. Atribuie rezultatul variabileiresult. Primul argument al funcțieireduce()trebuie să fie funcția lambda, iar al doilea argument este listastark.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Import reduce from functools
# Create a list of strings: stark
stark = ['robb', 'sansa', 'arya', 'brandon', 'rickon']
# Use reduce() to apply a lambda function over stark: result
result = reduce(____, ____)
# Print the result
print(result)