我對Python非常陌生,我試圖從我的數據實現MSE(均方誤差)。 我想訪問列表中的每個元素,並從平均值中減去原始數據,並將其平均值作爲單獨步驟的末尾,所以我可以在末尾對其進行總結,併除以元素總數名單。Python:如何訪問列表中的每個元素,並將其放入一個新列表
現在,我只是試圖訪問列表中的每個元素,並找出差異,並將其放入新創建的列表newList中。
這裏是我當前的代碼:
for i in range(len(X)):
newList[i] = X[i] - tempList[i]
起初,我試圖做
for i in range(len(X)):
newList[i] = X[i] - mean
然而,這給了我類型錯誤,說我不能從列表中減去浮動。
於是,我就做了一個名爲tempList新的列表,並通過這樣做,把平均值到列表:
for i in range(len(X)):
tempList.insert(i, mean) #now my tempList contains [3.995, 3.995, 3.995 ....., 3.995]
現在它給我同樣的類型錯誤:不支持的操作類型爲 - : '列表'和'浮動'。
我對java和其他C語言更熟悉,我認爲這是編輯列表中每個元素的方式,但我猜Python是不同的(顯然)。
任何提示將不勝感激。
在此先感謝。
你是如何創建的X名單? – Xorgon
@Xorgon X是浮點列表的數據列表,如[[3.0],[2.5],[5.0],....,[1.5]] – cohsta
如果這是您正在使用的語法,那就是問題所在。在Python中,如果有東西在方括號中,它就是一個列表。所以當你在做X [i]時,它會返回另一個列表。在該示例中,X [0] = [3.0],它是長度爲1(X [0] [0] = 3.0)的列表。而不是這樣做,只需使用以下語法將X定義爲浮點列表: [3.0,2.5,5.0,...,1.5]。 – Xorgon