我正在尝试在循环中添加和扩展列表的项目,如下所示: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
提交
取消