元组tuple操作

另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出同学的名字:

1 classmates=('张三','李四','王五')
2 print(classmates)

现在,classmates这个tuple不能变了,它也没有append(),insert()这样的方法。不可变的tuple有什么意义?因为tuple不可变,所以代码更安全。

但是可以改变tuple中list的内容,如:

1 classmates=('张三','李四','王五',[1,2,3])
2 print(classmates)
3 classmates[3][2]=4
4 print(classmates)

就可以把list 改成[1,2,4],表面上看,tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

下面做练习:

L = [
    ['Apple', 'Google', 'Microsoft'],
    ['Java', 'Python', 'Ruby', 'PHP'],
    ['Adam', 'Bart', 'Lisa']
]

# 打印Apple:
print(?)
# 打印Python:
print(?)
# 打印Lisa:
print(?)

1 L = [
2     ['Apple', 'Google', 'Microsoft'],
3     ['Java', 'Python', 'Ruby', 'PHP'],
4     ['Adam', 'Bart', 'Lisa']
5 ]
6 print(L[0][0])
7 print(L[1][1])
8 print(L[2][2])

ok

猜你喜欢

转载自www.cnblogs.com/8-eight/p/9071024.html