1. 程式人生 > >【Python有坑系列】用lambda匿名函式給字典賦值

【Python有坑系列】用lambda匿名函式給字典賦值

lambda表示式中變數的作用域
>>> d = dict()
# 這裡有個坑
>>> for i in range(5):
       d[i] = lambda :i**2
 
>>> d[2]()
16
>>> d[3]()
16
# 這樣看的更清楚一些
# lambda表示式中i的值是呼叫時決定的
>>> i = 10
>>> d[0]()
100
# 寫成下面這樣子就沒問題了
>>> d = dict()
>>> for i in range(5):
       d[i] = lambda x=i:x**2
 
>>> d[2]()
4
>>> d[3]()
9
--------------------- 
作者:dongfuguo 
來源:CSDN 
原文:https://blog.csdn.net/dongfuguo/article/details/53968555 
版權宣告:本文為博主原創文章,轉載請附上博文連結!