sunbin1815
2021-06-03 15:41
采纳率: 100%
浏览 47
已采纳

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)]#报错

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • CSDN专家-HGJ 2021-06-03 15:55
    已采纳

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

    for i in range(0, 3):
        a[i] = 333
    
    print(a)
    #[333, 333, 333]
    已采纳该答案
    评论
    解决 1 无用
    打赏 举报
  • CSDN专家-link 2021-06-03 15:43

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

    评论
    解决 无用
    打赏 举报
  • 有问必答小助手 2021-06-04 10:22

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

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

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

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题