我正在嘗試在循環中添加和擴展列表的項目,如下所示:y_predicts=[]y_trues=[]for train,test in cv.split(X,y): predict = classifier.fit(X.iloc[train],y.iloc[train]).predict(X.iloc[test]) tmp_l=predict.tolist() y_predicts.append(tmp_l) y_trues.append(np.array(y.iloc[test]))上面代碼的結果是這樣的:print(y_predicts): [[1, 1, 0, 0, 0], [1, 0, 0, 1, 0]]但是,我想要的輸出應該是這樣的:print(y_predicts): [1, 1, 0, 0, 0, 1, 0, 0, 1, 0]
3 回答

開心每一天1111
TA貢獻1836條經驗 獲得超13個贊
您可以使用extend()代替append()它來添加傳入列表中的元素而不是列表本身。
b = []
a = [1, 2, 3, 4]
c = [6,7, 8]
b.extend(a)
b.extend(c)
print(b)
# > [1, 2, 3, 4, 6, 7, 8]

絕地無雙
TA貢獻1946條經驗 獲得超4個贊
將兩個列表項組合在一起作為單個列表項的 Pythonic 方法是使用“extend”關鍵字而不是 append。
y_predicts=[]
y_trues=[]
for train,test in cv.split(X,y):
predict = classifier.fit(X.iloc[train],y.iloc[train]).predict(X.iloc[test])
tmp_l=predict.tolist()
y_predicts.extend(tmp_l)
y_trues.append(np.array(y.iloc[test]))
添加回答
舉報
0/150
提交
取消