元组(Tuple)和列表(List)是Python中两种主要的序列类型,它们在功能上有许多相似之处,但也存在一些关键的区别:
可变性:
存储数据:元组是一种可以存储不同数据类型,且数据不可变的序列。
tup1
=
(
'physics'
,
'chemistry'
,
1997
,
2000
);
tup2
=
(
1
,
2
,
3
,
4
,
5
);
tup3
=
"a"
,
"b"
,
"c"
,
"d"
;
内存使用:
语法:
[]
来创建,例如my_list = [1, 2, 3]
。()
来创建,例如my_tuple = (1, 2, 3)
。如果元组中只有一个元素,需要在元素后面加上逗号,例如single_element_tuple = (1,)
。内置函数:
min()
和max()
,可以接受列表作为参数,但不适用于元组。 元组内置函数
Python元组包含了以下内置函数
1、cmp(tuple1, tuple2):比较两个元组元素。
2、len(tuple):计算元组元素个数。
3、max(tuple):返回元组中元素最大值。
4、min(tuple):返回元组中元素最小值。
5、tuple(seq):将列表转换为元组。
定义的时候tuple包含的3个元素:
- >>> tuple = (1, 2, 'a', 'b', ['A', 'B'])
- >>> tuple[2][0] = 'X'
- >>> tuple[2][1] = 'Y'
- >>> tuple
- (1, 2, 'a', 'b', ['X', 'Y'])
表面上看,tuple的元素打印出来的结果确实变了,但其实变的不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!