Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะสร้างแลมบ์ดาภายใน Python loop ได้อย่างไร?


คุณสามารถสร้างรายการแลมบ์ดาในลูปไพ ธ อนโดยใช้ไวยากรณ์ต่อไปนี้ -

ไวยากรณ์

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

ผลลัพธ์

สิ่งนี้จะให้ผลลัพธ์ -

1
4
9
16
25

คุณยังสามารถทำสิ่งนี้ได้โดยใช้โครงสร้างการเขียนโปรแกรมเชิงฟังก์ชันที่เรียกว่า currying

ตัวอย่าง

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

ผลลัพธ์

สิ่งนี้จะให้ผลลัพธ์ -

1
4
9
16
25