Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Funzioni lambda

A
Alessiorevo (1730 points)
6 6 14
in Programmare in Python by (1.7k points)
recategorized by
Ciao a tutti, ho sentito che molti usano delle funzioni lambda per velocizzare il programma
Vorrei sapere come si usa una funzione lambda per un for.
Grazie in anticipo
1.2k views

3 Answers

E
Edward (25950 points)
3 4 172
by (26.0k points)
Personalmente non mi è mai capitato di usarle in un for (non so se ha molto senso usarle in un for, poi dipende cosa intendi).

In genere io le uso insieme a map, filter, eccetera.
Comunque non sono altro che funzioni anonime, potresti scriverle come funzioni vere e proprie, ma in genere se si devono fare calcoli/operazioni brevi si tende ad usare le funzioni lambda.
A
Alessiorevo (1730 points)
6 6 14
by (1.7k points)
più che altro sto cercando un modo per velocizzare il programma e non perchè non passo 1 test ma proprio per ricevere il bonus del tempo se qualcuno ha qualche consiglio per velocizzarlo anche leggermente sarebbe di grande aiuto
a
a.pietroluongo (11250 points)
20 39 131
by (11.3k points)
di solito usi  lambda quando l'operazione da compiere è una sola espressione
Andrea Sanchietti (3100 points)
5 7 40
by (3.1k points)
ma a quel punto non è più facile scrivere direttamente l'espressione?
AlessandraIzzo (6010 points)
6 6 30
by (6.0k points)
Andrea, si intende che le usi quando comunque ti serve una funzione (ad esempio per passarla a map o filter). Allora anziché creare una funzione apposita (def ...) che contiene solo una semplice espressione, usi una lambda
Antares (7770 points)
5 6 41
by (7.8k points)

Lambda in Python è utilizzato per la creazione di funzioni anonime. Lambda può avere quanti numeri vuoi in ingresso ma ritorna solamente un espressione. 

Ad esempio questa espressione lambda: 

double = lambda x: x * 2 

equivale a:

def double(x):
   return x * 2

Qua trovi una guida molto valida.