面試題整理

2021-10-16 21:29:50 字數 978 閱讀 6855

def

num():

return

[lambda x: x * i for i in

range(4

)]print

([func(2)

for func in num()]

)

考點:匿名函式lambda的使用,列表生成式,對迴圈體**的解析

lambda函式隱藏了return,實際上是可以寫成以下形式的:

for i in

range(4

):deffunc

(x):

return x*i

再向外解析,lambda的結果放在了乙個列表裡面,整體又包在乙個函式裡面:

def

num():

list1=

for i in

range(4

):deffunc

(x):

return x*i

return list1

再解析最後一步的函式。最後一步函式就是把列表中的每乙個函式都傳參,計算出結果,放在乙個列表裡面。

# 正確答案:[6

,6,6

,6]

如果前面沒有拆明白的情況下,容易直接想成[0,2,4,6]

那麼將這個題如何改,可以讓結果變成[0,2,4,6]呢?

def

num():

list1=

for i in

range(4

):deffunc

(x,i=i)

:return x*i # 在這裡想辦法直接把這個值扔到列表裡面,x需要傳入,無法改變,只能固定i,只需要把上面for迴圈中的i扔進來就可以了

return list1

面試題整理

2014.3.19日整理 1.建立一張表hack 裡面就乙個欄位num,然後用sql語句從1開始插入到100,怎麼寫?oracle 答 1.create tablehack num number 建表語句 2.begin for i in1.100loop insert intohack num v...

整理面試題

整理面試題 1 說說activity,intent,service是什麼關係 答 乙個activity 通常是乙個單獨的螢幕,每乙個 activity 都被實現為乙個單獨的類,這些類都是從 activity 基類中繼承而來的。activity 類會顯示由檢視控制項組成的使用者介面,並對檢視控制項的事...

面試題整理

static變數 全域性變數與區域性變數 靜態資料區 堆疊 heap和stack的區別 堆是由malloc之類的函式分配的空間位址由低向高增長 stack是自動分配變數位址由高向低 減少程式的記憶體分配 1.棧區 stack 由編譯器自動分配釋放,存放函式的引數值,區域性變數的值等。其操作方式類似於...