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

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
  • 参与学习       758884    人
  • 解答问题       8657    个

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

进入课程

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信