我正在尝试使用Python函数式编程风格来编写for
和while
循环。
我认为for
循环可以正常工作,但是while
循环不行,它会无限运行。
# for loop
lst = [1, 2, 3]
def fun(e):
return e
print map(fun, lst)
# while loop
i = 1
def whileloop():
global i
print i
i = i+1
while_FP = lambda: ((i < 5) and whileloop()) or while_FP()
while_FP()
lambda i=i: ...
。目前,当你初始化 lambda 时,它只检查i<5
。 - Junuxx