6 Stimmen

Wert einer Variablen in einem Lambda-Ausdruck verwenden

a = [] a.append(lambda x:x**0) 
a.append(lambda x:x**1)

a[0](2), a[1](2), a[2](2)... spits out 1, 2, 4, ...

b=[]
for i in range(4)
    b.append(lambda x:x**i)

b[0](2), b[1](2), b[2](2)... spits out 8, 8, 8, ...

In der for-Schleife wird i als Variable an lambda übergeben. Wenn ich sie aufrufe, wird der letzte Wert von i verwendet, anstatt den Code wie bei a[] auszuführen. (d.h. b[0] sollte x^1 verwenden, b[1] sollte x^2 verwenden, ...)

Wie kann ich lambda anweisen, den Wert von i anstelle der Variablen i selbst zu übernehmen?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X