第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

求解釋此python的lambda表達(dá)式

求解釋此python的lambda表達(dá)式

四季花海 2019-05-13 08:52:34
求教一下表達(dá)式各變量是怎么變化的,以及結(jié)果,尤其是n怎么變呢?fun=[(lambdan:i+n)foriinrange(10)]
查看完整描述

2 回答

?
料青山看我應(yīng)如是

TA貢獻(xiàn)1772條經(jīng)驗 獲得超8個贊

這是python中為數(shù)不多的“怪事”之一
fun=[(lambdan:i+n)foriinrange(10)]
#等同于
fun=[(lambdan:9+n)for_inrange(10)]
因為lambda內(nèi)的參數(shù)i在運(yùn)行時才能確定,不是在聲明時確定。
最后fun保存了含有10個元素的數(shù)組,每一個元素都是lambda方法,該方法等于下面的lambda_item函數(shù)
deflambda_item(n):
return9+n
如果整個表達(dá)式用python代碼來詮釋的話,可以是這樣
fun=[]
foriinrange(10):
fun.append((lambdan:9+n))
另一個讓新人迷惑的是
a=[[0]]*3
a[0].append(1)
print(a)
打印出
[[0,1],[0,1],[0,1]]
                            
查看完整回答
反對 回復(fù) 2019-05-13
?
慕無忌1623718

TA貢獻(xiàn)1744條經(jīng)驗 獲得超4個贊

首先,感謝@李毅的回答,他回答的很好。
1、初次執(zhí)行
那么,我們看看這個程序的運(yùn)行結(jié)果是什么?
fun=[(lambdan:i+n)foriinrange(10)]
>>>fun
[at0x7f032e425668>,at0x7f032e4256e0>,at0x7f032e425758>,at0x7f032e4257d0>,at0x7f032e425848>,at0x7f032e4258c0>,at0x7f032e425938>,at0x7f032e4259b0>,at0x7f032e425a28>,at0x7f032e425aa0>]
>>>len(fun)
>>>10
從運(yùn)行的結(jié)果可以看出,fun參數(shù)是一個以函數(shù)對象為元素的列表,列表的長度為10。其中的長度是由步進(jìn)函數(shù)range(10)來決定的。
2、繼續(xù)執(zhí)行
我們進(jìn)行往下執(zhí)行。
>>>forfinfun:
...f(1)
...
10
10
10
10
10
10
10
10
10
10
結(jié)果出現(xiàn)了“意外”,并不是如想象中的那樣,結(jié)果是相同的,沒有步進(jìn)。
3、修改步進(jìn)函數(shù)的值
>>>fun=[(lambdan:i+n)foriinrange(2)]
>>>fun
[at0x7f032e42e050>,at0x7f032e42e140>]
>>>fun=[(lambdan:i+n)foriinrange(3)]>>>fun
[at0x7f032e425668>,at0x7f032e4256e0>,at0x7f032e425758>]
>>>
從上面的執(zhí)行結(jié)果,我們可以明顯的看出,步進(jìn)函數(shù)決定了list的長度,但是這個list比較特別的地方是列表的元素是function對象,而對于function來說,就涉及到參數(shù)的作用域問題,而function對象里的i參數(shù),明顯是一個全局變量,@Jasoney說的很好,這個i參數(shù)隨著步進(jìn)函數(shù)range(10)的迭代,不斷變化,最終確定值為9,那么function對象最終可以確定為lambadn:9+n,所以,最終的執(zhí)行結(jié)果雖然“奇怪”,但也合乎邏輯。
                            
查看完整回答
反對 回復(fù) 2019-05-13
  • 2 回答
  • 0 關(guān)注
  • 462 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號