一. 元组的特点
- 元组是不可改变的序列;
- 元组是可以存放任意类型的容器;
- 实质是一个不可改变的
list
,但不仅仅是不可变列表。
二. 元组的基本操作
创建一个空的元组:
>> t = tuple()
>> t
()
>> t = ()
>> t
()
创建一个非空元组:
>> t = 200,
>> t
(200,)
>> t = (200,)
>> t
(200,)
>> t = 1,2,3
>> t
(1, 2, 3)
>> t = (1,2,3)
>> t
(1, 2, 3)
下面是创建元组的错误示范:
-
t
绑定整数 200 ,而不是元组:
>> t = (200)
>> t
- 以下均为序列赋值,而不是创建元组:
>> t1, t2 = 100, 200
>> t1
100
>> t2
200
>> t3, t4 = (100, 200)
>> t3
100
>> t4
200
>> t5, t6 = [100, 200]
>> t5
100
>> t6
200
>> x, y = "ab"
>> x
'a'
>> y
'b'
- 使用元组的构造函数
tuple
创建元组:
>> tuple()
()
>> tuple(range(10))
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
>> tuple([x for x in 'abcdef'])
('a', 'b', 'c', 'd', 'e', 'f')
>> t = tuple(reversed(range(10)))
>> t
(9, 8, 7, 6, 5, 4, 3, 2, 1, 0)
- 尝试修改元组的元素,将会抛出
TypeError
异常:
>> t[0]
9
>> t[0] = 900
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-28-712031204c4d> in <module>()
----> 1 t[0] = 900
TypeError: 'tuple' object does not support item assignment
三. 元组的方法
方法 | 说明 |
---|---|
T.index(v[, begain[, end]]) | 返回对应元素的索引下标,v 不存在时触发ValueError 异常。 |
T.count(x) | 返回元组中对应元素的个数。 |
四. Python 序列 sequence
Python 中序列(sequence)的种类
- 字符串
str
- 元组
tuple
- 字节串
bytes
- 列表
list
- 字节数组
bytearray
序列的通用函数:
按返回值类型分类 | 序列通用函数 |
---|---|
数值型 | len(seq),max(seq),min(seq),sum(seq) |
布尔型 | any(seq),all(seq) |
可迭代对象 | str(obj),list(iterable),tuple(iterable),reversed(seq) |
列表 | sorted(iterable, reversed=False) |