赞
踩
list列表元素可变方法
append(' *')后面附加元素;
insert(index,‘’)某个位置index添加个元素
pop()删除末尾元素
pop(index)删除指定位置index元素
tuple元组不可变
没有append(),insert()这样的方法
最后来看一个“可变的”tuple:
- >>> t = ('a', 'b', ['A', 'B'])
- >>> t[2][0] = 'X'
- >>> t[2][1] = 'Y'
- >>> t
- ('a', 'b', ['X', 'Y'])
这个tuple定义的时候有3个元素,分别是'a'
,'b'
和一个list。不是说tuple一旦定义后就不可变了吗?怎么后来又变了?
别急,我们先看看定义的时候tuple包含的3个元素:
当我们把list的元素'A'
和'B'
修改为'X'
和'Y'
后,tuple变为:
表面上看,tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a'
,就不能改成指向'b'
,指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!
理解了“指向不变”后,要创建一个内容也不变的tuple怎么做?那就必须保证tuple的每一个元素本身也不能变。
list和tuple是Python内置的有序集合,一个可变,一个不可变。根据需要来选择使用它们。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。