Computer >> Máy Tính >  >> Lập trình >> Python

Làm thế nào để tạo một lambda bên trong một vòng lặp Python?


Bạn có thể tạo danh sách lambdas trong vòng lặp python bằng cú pháp sau -

Cú pháp

def square(x): return lambda : x*x
listOfLambdas = [square(i) for i in [1,2,3,4,5]]
for f in listOfLambdas: print f()

Đầu ra

Điều này sẽ cung cấp đầu ra -

1
4
9
16
25

Bạn cũng có thể đạt được điều này bằng cách sử dụng một cấu trúc lập trình hàm được gọi là currying.

ví dụ

listOfLambdas = [lambda i=i: i*i for i in range(1, 6)]
for f in listOfLambdas:
   print f()

Đầu ra

Điều này sẽ cung cấp đầu ra -

1
4
9
16
25