Программа по позднему связыванию - PullRequest
0 голосов
/ 02 ноября 2019
fun_list1 = []
for i in range(5):
    print ("for Loop 1")
    def fun1(e):
        print ("for loop")
        return e+i
fun_list1.append(fun1)

fun_list2 = []
for i in range(5):
    def fun2(e,iv=i):
        return e+iv
fun_list2.append(fun2)
fun_list3 = [lambda e: e+i for i in range(5)]
fun_list4 = [lambda e,iv=i: e+iv for i in range(5)]

i=56


print([f(10) for f in fun_list1])
print([f(10) for f in fun_list2])
print([f(10) for f in fun_list3])
print([f(10) for f in fun_list4])

print (list(fun_list1 ) )
print (list(fun_list2 ) )
print (list(fun_list3 ))
print (list(fun_list4 ))

Лямбды просто трудно понять, что делает аппенд? Append используется в списке. Тогда почему оператор print не отображает список? Если я помещаю оператор print в циклы, он не генерирует. Output

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...