pythonday2

两种有序的列表list和tuple

list是一种有序的集合,可以随时添加和删除其中的元素。

tuple称为元组,一旦初始化就不能更改。

list

表示方法:

1
2
3
>>> t=[1,[2,3],4]
>>> t
[1, [2, 3], 4]

变量t就是一个list,用len()函数可以获取list元素的个数。

1
2
>>> len(t)
3

可以用索引来访问每一个位置的元素,最后一个元素的索引是len(t)-1,还可以用-1做索引直接访问最后一个元素。

1
2
3
4
>>> t[2]
4
>>> t[-1]
4

可以用append()方法添加元素到末尾位置。

1
2
3
>>> t.append('9')
>>> t
[1, [2, 3], 4, '9']

list里边的数据类型可以是多种的,当然也可以是list

要删除lis末尾的元素可以用pop()方法。

1
2
3
4
>>> t.pop()
'9'
>>> t
[1, [2, 3], 4]

把元素插入到指定的位置,可以用insert()方法。

1
2
3
>>> t.insert(0,0)
>>> t
[0, 1, [2, 3], 4]

删除指定位置的元素,可以用pop(i)方法。

1
2
3
4
>>> t.pop(0)
0
>>> t
[1, [2, 3], 4]

把某个元素替换成别的元素,可以直接赋值给对应的索引位置。

1
2
3
>>> t[0]=0
>>> t
[0, [2, 3], 4]

list中包含list时,用索引来访问时可以看作一个二维数组。

1
2
>>> print(t[1][1])
3

tuple

tuple与list非常相似,但是一旦初始化就无法改变,获取元素的方法与list一样,用索引方法进行查询。相比较tuple比较安全,所以能用tuple就用。

1
2
3
4
5
6
7
8
9
10
11
>>> p=(7,[8,9],10)
>>> p[0]=1
#可以看出当想改变`0`处的元素时,会报错误信息。
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
#当改变tuple中的list时则能改变成功,这是因为改变其实时list里边的元素而tuple一开始指向的就是list,其指向并没有改变。
>>> p[1][0]=1
>>> p[1][1]=2
>>> p
(7, [1, 2], 10)
当tuple中只有一个元素的时候,必须用,消除歧义,避免计算机识别成数字1。

小结

list可以完成“增”append()“删”pop()“改”t[0]=1赋值操作“查”索引“插”insert(位置,值)操作。

tuple相对list比较安全,其内部指向元素不能改变。


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!