老师 请教一个问题

来源:5-4 列表的可变与元组的不可变

Joe丶丶

2018-05-27

a=([1,2],2,3)  

print(id(a),a)  

a[0][0]=23  

print(id(a),a)  

b=([1,2],2,3)  

print(id(b),b)  

b[0]+=[3] 

print(id(b),b) 

a的情形我了解,因为list是可变数据类型,更改他的值不会引起tuple报错

但b的情形改变list的长度为什么会引起tuple报错?

请回复,谢谢!

写回答

1回答

码之力三段

2018-05-27

因为你这样相当于对b[0]赋值了,而元组是不可变的。你可以改,用b[0].append()这种列表方法改,但是不能对b[0]赋值啊!

1
6
Joe丶丶
回复
码之力三段
这样啊 明白了 多谢!
2018-05-29
共6条回复

Python3.8系统入门+进阶 (程序员必备第二语言)

语法精讲/配套练习+思考题/原生爬虫实战

14597 学习 · 4469 问题

查看课程