Seite 1 von 1

komplexere Lambdas

Verfasst: Mittwoch 3. August 2005, 10:47
von hehejo
Wie muss ich es schreiben, dass so etwas funktioniert?

Code: Alles auswählen

a = lambda(z): for i in z: 
      print i
oder bleibt mir nur diese Wahl:

Code: Alles auswählen

def ui(z):
  for i in z:
    print z
a = lambda(z): ui(z)

Verfasst: Mittwoch 3. August 2005, 12:07
von Leonidas
In lambdas können keine "statements" stehen: somit sind Schlüsselwörter tabu! Das kann man auch nicht mit LCs lösen, dort ist das gleiche Problem.

Verfasst: Mittwoch 3. August 2005, 12:13
von hehejo
Leonidas hat geschrieben:In lambdas können keine "statements" stehen: somit sind Schlüsselwörter tabu! Das kann man auch nicht mit LCs lösen, dort ist das gleiche Problem.
Schade.

Verfasst: Mittwoch 3. August 2005, 12:56
von mawe
Nur so interessehalber: was willst Du denn eigentlich machen? Weil das a = lambda(z): ui(z) sieht irgendwie komisch aus :)

Re: komplexere Lambdas

Verfasst: Mittwoch 3. August 2005, 21:38
von BlackJack
hehejo hat geschrieben:Wie muss ich es schreiben, dass so etwas funktioniert?

Code: Alles auswählen

a = lambda(z): for i in z: 
      print i
oder bleibt mir nur diese Wahl:

Code: Alles auswählen

def ui(z):
  for i in z:
    print z
a = lambda(z): ui(z)
In dem Fall kannst Du auch einfach ``a = ui`` als letzte Zeile schreiben.  Das ``lambda`` macht ja gar nix.

Woraus willst Du denn hinaus?

Verfasst: Freitag 19. August 2005, 09:00
von hehejo
Das hatte keinen größeren Sinn.
Ich wollte einfach nur mal mit Closures spielen und mit Funktionen, die anhand eines Parameters entscheiden, welche Funktion zurückgegeben wird.