Evaluating a list of python lambda functions only evaluates the last list element

后端 未结 3 966
旧时难觅i
旧时难觅i 2020-12-17 16:45

I have a list of lambda functions I want to evaluate in order. I\'m not sure why, but only the last function gets evaluated. Example below:

  >>> de         


        
3条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2020-12-17 17:01

    The lambda is just looking up the global value of 'i'.

    Try the following instead:

    for i in range(0,5):
      lst.append(lambda x, z=i: f(x,z))
    

提交回复
热议问题