python中for循环,使用列表解析,报错

python中for循环,使用列表解析,报错

问题描述:

a=[1,2,3]

以下分别用3条语句运行,其中第1、2条都可以,但第3条报错,想不明白为啥……

[print(a[i]) for i in range(0,3)]#正确运行
a=[333 for i in range(0,3)]#正确运行
[a[i]=333 for i in range(0,3)]#报错

列表解析式中迭代元素不能用赋值表达式,用赋值的形式修改列表元素就要用for循环结构:

for i in range(0, 3):
    a[i] = 333

print(a)
#[333, 333, 333]

是不是要写成[(a[i]=333) for i in range(0,3)]

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632