鑑於以下兩個列表:循環執行列表的Python,索引(基本引導)
dates = [1,2,3,4,5]
rates = [0.0154, 0.0169, 0.0179, 0.0187, 0.0194]
我想生成一個列表 DF = []
長度相同的日期和價格的( 0到4 = 5個元素)作爲練習在'純粹'Python(沒有Numpy)。
df[0] = (1/(1 + rates[0])
df[1] = (1 - df[0] * rates[1])/(1 + rates[1])
...
df[4] = (1 - (df[0] + df[1]..+df[3])*rates[4])/(1 + rates[4])
我嘗試:
df = []
df.append(1 + rates[0]) #create df[0]
for date in enumerate(dates, start = 1):
running_sum_vec = 0
for i in enumerate(rates, start = 1):
running_sum_vec += df[i] * rates[i]
df[i] = (1 - running_sum_vec)/(1+ rates[i])
return df
,但我得到的類型錯誤:列表索引必須是整數
DF [I]將等於。謝謝。
你的指數是薄紗,因爲這就是枚舉產量。即使你沒有使用'x'變量,你也需要'爲idx,x在enumerate..'中 – Vinny
你正在迭代你的'running_sum_vec + = df [i] * rates [i]'df'填充。結果值應該是多少? – bhansa