-
慕瓜9220888
DFSIELFMVJUHKJDROJBJAIICZNLBKPFVFJXLCVSVBYFDZGRHKGILHYOSVAZMZMMNMVRGJMJNPUNMOEREGPRNKZDROJYNSLXEHQOPKEZBVBTAITSFUUURBTUGPRKXXWYJLTCJPSPCATFXAGTXUXZEQDDWDNLRHQUKHLMSHNWKBFGYAGPSVGNTGPLHXOEIMUCJQVZDUIDLRHNRLVWBKMVFPTFTRGCCSCWJMEKGMBPGDYOGFPYVTXBKPEOQEOKONVVDZOLROYWLBTJWTANPBWDXHUBCDPRGANANXMOGERAXUUIFHGUBBRHLXAWZZOUZRQWZFICBLWCFREXNRIDIEMGTJAZOXNWZMJGBEMCERUXXHWKDVSLYSKIYRNNYFIHKGAGDZDTBWTGMJNBLINTJJNQGXKYVLAILZNQZYHXLFPVYNNDSMSWATZFKAEBPQQFVKQUQNYOUTZLJLZNQZPYOWNSQUCXDQAPSNBDPFLFZDYJBEFYVZZKGEQBIBFBSWYIOGTGGDEJCBDTWJYAQSOKNGJQTKGBERRUBAEAZLOTQNOGIUWZZSMCACLPZFPSMAPUYURBKAIXTCSSYPVWIUWEBOYFQYUGJWJOBZVUTCWMMPJGFZWXYXOJZPOSMKUMGMXXHBVTZLHQWUVJDTVRHXLFCTMEKATGAOXEFLLKOMZUHSCVOLVDKBWCPPTDRBTUIVUQAISYTIFUOCWNIHDCCJNRCDHTCXHEXOKLXTFATQXTVQTFSWZTYTPKQZQLYZAIGOLSZARSUGQGTNDUTLQSCVCJOPREADNAKVUHENQXADBMITZZMZQFTCWBOLIITCNERXUXEABAZYSVYLRZRAFFXHXHPRXCPZZMITSUPMFWZGUWCYYROIESHQMFYFPVPIUCJNTWJHGSKXHXUZKUZIIAGDZFXPSMZWTNEKWYOOBFSTQIUNZWCABHWSLJWWYJVRLOOUUJOASYVEVVRYBQSCPLWJXZMOBBOPFQSYQNGLVOSUNZFRNEPDPOUNQTUSAJIDQKPPNCFUZDQMTUZIVREYUHBWYUWJMJTBJRVXUOEEMVNKNQNTDTXJCBERELPXQSUZFMJWOXZOPJMWNOZYUQDHDXOQZUUHEBCIONGTHBCZDZKTQUXRMNPRNQASPALVHWWREUKFEBXKNKXOQJSEOKWMHCSNGCYBBEWOTMFCPMFASKGTNAQRIXXASIPCXCUQUHUHETYUNROXOVTBNZRHHCTGURNJWPFXNFHJWIMPWEJLXMZTWFDIRDYSFCCLGSAGTWTJLWIAMGXXHRGWYEZCVWAHNDIBVLCHCSXQDTMWXQZHDJOYLYJVXCWSDUOGSHWWPSZQYIKGDIVVQLUCELVBYLTJLHNHUINSEWCCEKYPKPCRAEAKEPBNPZFSPWRTFHHQHMNVDPLYBQNIZOEANQNKNRDWEHXRETEHEATWJAVNIBDYYLIPRJLUKNAABPRTWAYLSJOYKIFPMTMVRXWHBOPDFYNINRUBPOQVYUYQNIJKMBVIVIPUZOHEHEUOLEGSMPSZNVNSREUHIBHUWIMPCVBASBVYVIPVAGFLQMZMBGIMSDGPQCPEWVCPQBXSELWANANCHJBQKNANZUGSNRUFFMYNFROYEBGAJUQDXTU
-
翻翻过去那场雪
这是 python 中为数不多的“怪事”之一fun = [(lambda n: i+n) for i in range(10)]
# 等同于fun = [(lambda n: 9+n) for _ in range(10)]因为 lambda 内的参数 i 在运行时才能确定,不是在声明时确定。最后 fun 保存了含有 10 个元素的数组,每一个元素都是 lambda 方法,该方法等于下面的 lambda_item 函数def lambda_item(n): return 9 + n如果整个表达式用 python 代码来诠释的话,可以是这样fun = []for i in range(10): fun.append((lambda n: 9+n))另一个让新人迷惑的是a = [[0]] * 3a[0].append(1)print(a)打印出[[0,1], [0,1], [0,1]]
-
慕森卡
lambda函数是里面的i是一个全局变量i,但是由于lambda函数里面所有的值只有在运行时确定。也就是当我们:[(lambda n : i + n) for i in range(10)][1](10)lambda里面的i已经迭代到 9,所以就变成了如fun列表就变成了如下:[lambda n: 9 + n,lambda n: 9 + n,lambda n: 9 + n,lambda n: 9 + n,lambda n: 9 + n,lambda n: 9 + n,lambda n: 9 + n,lambda n: 9 + n,lambda n: 9 + n]