You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python list.append()传3参数报错 如何追加多元素生成嵌套列表

Python调用list.append()传入多个参数触发TypeError的解决方案

报错原因

Python原生列表的append()方法仅支持接收1个位置参数,作用是将传入的这一个参数作为整体追加到列表末尾。直接传入X_test[i]、y_test[i]、y_pred[i]三个独立参数,不符合方法的参数定义,因此触发TypeError。
逐行打印三个值可正常输出,说明三个变量本身取值、索引遍历逻辑均无问题,仅需调整append的传参方式即可实现需求。

正确实现方法

你需要先把每组的3个值封装为单个列表对象(也就是你需要的子列表结构),再传入append(),最终就能得到「每组三个值组成子列表」的二维嵌套列表。

写法1:适配原有循环逻辑

改动最小,直接修改原循环内的append调用即可:

d = []
for i in range(len(X_test)):
    # 将三个元素封装为1个子列表,作为单个参数传入append
    d.append([X_test[i], y_test[i], y_pred[i]])

写法2:列表推导式(更简洁)

如果循环内不需要添加其他处理逻辑,可以直接用列表推导式一步生成目标嵌套列表:

d = [[X_test[i], y_test[i], y_pred[i]] for i in range(len(X_test))]

补充:如果后续不需要修改每组内的三个值,也可以把三个值封装为元组传入,内存占用更低,写法为d.append((X_test[i], y_test[i], y_pred[i]))。

内容的提问来源于stack exchange,提问作者Sohan JS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 05:06:25