为了账号安全,请及时绑定邮箱和手机立即绑定

range 赋值给一变量后,为嘛不能对那个变量更新

L=range(0,3)

L.append(1)

print(L

#这个语法会报错

AttributeError: 'range' object has no attribute 'append'#报错

#如果我不用range,而是L=[0,1,2],那样就可以对L做增加,用range生成的list没法变,咋回事

正在回答

2 回答

原因编译器已经告诉你了,range没有append函数。怎么办呢?我们知道append是针对于list的,而你写的L=range(0,3)是个list吗?看起来是,其实不是的。那么正确的做法是先创建一个数据为range(0,3)的list,再用append,就不会报错了,如:

L=[x for x in range(0,3)]

L.append(1)

print(L)



2 回复 有任何疑惑可以回复我~

range对象跟list集合不是一个东西。list集合有方法append,range对象没有append这个方法。这就是规则吧。没有这个方法当然不能用了。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758363    人
  • 解答问题       8967    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

range 赋值给一变量后,为嘛不能对那个变量更新

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号