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

为何Python列表可用‘+=’运算符追加元素却不能用‘+’运算符?

列表追加元素的两种写法差异解析

你原本以为下面两段代码要么都报错要么都能正常运行,但实际结果却不一样:

运行正常的代码

word = []
word += "e"
print(word)

这段代码会输出 ['e']。因为+=对于列表来说,相当于调用list.extend()方法,它会把右侧的可迭代对象(这里的字符串"e"是可迭代的,会被拆分为单个字符)的所有元素逐个追加到列表中。

会报错的代码

word = []
word = word + "e"
print(word)

这段代码会抛出TypeError: can only concatenate list (not "str") to list错误。原因是+作为序列拼接运算符,要求两侧的操作数必须是相同类型的序列——要么都是列表,要么都是字符串,无法直接把列表和字符串拼接在一起。

核心区别

  • +=是原地修改列表的运算符,接受任意可迭代对象作为右侧参数,将其元素扩展到当前列表中;
  • +是创建新序列的拼接运算符,要求两侧操作数类型完全一致,否则会触发类型错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 17:27:04