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

为何Python中[1].extend([2,3])无返回值?

为什么Python中[1].extend([2, 3])没有返回值?

这是因为list.extend()是Python列表的原地修改方法——它直接在原列表对象上添加元素,不会创建新的列表返回,所以调用后默认返回None。

你可以换种方式验证:先把列表存到变量里,调用extend()后再查看变量:

my_list = [1]
my_list.extend([2, 3])
print(my_list)  # 输出 [1, 2, 3]

如果想要直接得到合并后的新列表,可以用列表加法运算符+,它会返回一个新列表,不会修改原列表:

new_list = [1] + [2, 3]
print(new_list)  # 输出 [1, 2, 3]

Python的这类设计是为了明确区分两种操作:一种是直接修改原对象(节省内存,适合大列表场景),另一种是生成新对象(保留原数据)。除了extend(),append()、sort()、reverse()这些列表方法也都是原地修改,返回None。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 11:54:51