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

Python中调用列表append方法打印结果为None的原因

产生原因

Python 中列表的 append() 属于原地操作方法,这类方法的设计逻辑是直接修改原对象本身,不会返回修改后的新对象,所有无显式返回值的方法,Python 都会默认返回 None。

你写的代码 print([2,3].append(5)) 执行时,实际流程是:

  • 先生成临时列表 [2, 3]
  • 调用 append(5) 把元素 5 加到这个临时列表的末尾,修改动作确实执行了
  • 但 print() 接收到的入参是 append() 方法的返回值,也就是默认的 None,所以最终打印出来的结果就是 None,而不是你预期的修改后列表。

正确写法

如果要得到 [2,3,5] 的输出,需要先保存列表对象,执行 append 操作后再打印列表本身:

nums = [2, 3]
nums.append(5)
print(nums)

执行后输出:

[2, 3, 5]

注意:Python 里很多序列、集合的原地修改方法都是这个逻辑,比如列表的 sort()、reverse()、extend(),字典的 update() 等等,调用这些方法时不要直接拿返回值当修改后的对象用,操作后直接访问原对象才能拿到修改后的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 19:09:23