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

Python中列表切片后调用append追加元素返回None问题求解

问题产生原因

Python列表的append()方法属于原地修改类方法:它的作用是直接在调用该方法的列表末尾追加元素,不会返回修改后的新列表,这个方法的固定返回值就是None。
代码里把y.append(num_4)的执行结果直接赋值给变量z,本质是把方法返回的None存入了z,最终打印z得到None是符合语法逻辑的,问题和切片操作无关,是对append()方法的返回值认知有偏差。
另外注意,不建议用list作为变量名,这会覆盖Python内置的列表类型,容易触发其他异常。

原有错误代码
list = [54, 44, 27, 79, 91, 41]

num_4 = list[4]
def fun_2():
    y = list[:2]
    z = y.append(num_4)
    print(z)
fun_2()
正确实现方案

调用append()之后,切片得到的新列表y本身就已经完成了元素追加,不需要接收方法的返回值,直接使用y就是需要的、追加完元素的新列表。修正后的代码如下:

my_list = [54, 44, 27, 79, 91, 41]

num_4 = my_list[4]
def fun_2():
    y = my_list[:2]
    y.append(num_4)
    print(y)
fun_2()

运行上述代码后输出结果为[54, 44, 91],完全符合预期。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 11:01:07