我想創建一個包含單項最高程度的列表ň的Python - 附加功能的列表
basis = [lambda x:x**i for i in range(0,n+1)]
然而,這產生的ñ功能列表,但所有的同一個(度ñ),而不是0,1,2度,... ñ
我嘗試沒有列表理解,以及:
basis = []
for i in range(0,n+1):
basis.append(lambda x:x**i)
但結果相同。用經典函數定義代替lambda函數也沒有解決它。
我檢查Python lambdas and scoping,但這並沒有幫助,因爲我不想存儲函數值做,但功能本身。舉例來說,我希望能夠調用
basis[0](34)
,應返回
1
你可以用'partial'做到這一點(https://docs.python.org/3/library/functools.html#functools .partial),但你需要一個* proper *函數聲明 –