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

为何Python列表支持L=L*3却不支持将L*=3传入print?

Python中print(L*=3)语法错误的原因分析

测试代码

L=[5,10,15,20]
print(L*=3)

预期结果

[5,10,15,20,5,10,15,20,5,10,15,20]

错误原因及解决方法

这既不是Python的Bug,也不是IDLE或VS Code的软件问题,完全是Python语法规则的限制:

  • Python里的*=这类增强赋值运算符属于「语句」,语句的作用是执行操作、改变变量状态,它没有返回值;而print()函数要求传入的是「表达式」——也就是能产生一个值的代码片段。
  • 你写的L *=3是把列表L重复3次后重新赋值给L,这是一个赋值操作语句,不能直接塞进print()里当参数用。

要实现预期效果,有两种写法:

  1. 拆分语句,先执行赋值再打印:
L = [5,10,15,20]
L *= 3
print(L)
  1. 直接用乘法表达式作为print()的参数(不会修改原列表L):
L = [5,10,15,20]
print(L * 3)

内容的提问来源于stack exchange,提问作者Sanat Kumar Tudu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 19:52:02