序列(sequence)是具有先后关系的一组元素。
- 一维元素向量,元素类型可以不同。
- 类似数学元素序列:,,...,
- 元素由序号引导,通过下标访问特定元素
1、序列类型及操作
序列作为基类,衍生字符串、列表、元组等数据类型,彼此间有共性也有独特的操作能力,其元素均存在正向递增,反向递减序号的索引关系。
1.1 通用操作符
操作符 | 含义 |
x in s | 若x是序列s的元素,返回True,否则返回False |
x not in s | 若x是序列s的元素,返回False,否则返回True |
s1+s2 | 连接两个序列s1和s2 |
s*n或n*s |
将序列s复制n次 |
s[i] | 索引,返回序列s中的第i个元素,i为序号 |
s[i:j]或s[i:j:k] | 切片,返回序列s中从序号i到j(不包括j)(以k为步长)的元素子序列 |
示例:
#序列
>>>s=['China',123,'.gov']
>>>'China' in s
True
>>>'china' not in s
True
>>>s*2
['China', 123, '.gov', 'China', 123, '.gov']
>>>s[2]
'.gov'
>>>s[::-1]
['.gov', 123, 'China']
>>>s='China.gov'
>>>s[::-1]
'vog.anihC'
>>>s=('China',123,'.gov')
>>>s[::-1]
('.gov', 123, 'China')
1.2 通用函数
函数 | 含义 |
len(s) | 返回序列s的长度 |
min(s) | 返回序列s的最小元素,s中元素需要可比较 |
max(s) | 返回序列s的最大元素,s中元素需要可比较 |
s.index(x) s.index(x,i,j) |
返回序列s从i开始到j(不包含j)位置中第一次出现元素x的位置 |
s.count(x) | 返回序列s中x出现的总次数 |
示例:
#通用函数
>>>s='China.gov'
>>>len(s)
9
>>>min(s)
'.'
>>>max(s)
'v'
>>>s.index('o')
7
>>>s.index('o',1,7)
Traceback (most recent call last):
File "<pyshell#20>", line 1, in <module>
s.index('o',1,7)
ValueError: substring not found
>>>s.count('a')
1
2、元组类型及操作
元组(tuple)是序列类型之一,具有以下特点:
- 一旦创建即不能被修改
- 使用小括号()或tuple()创建,元素间以逗号分隔
- 可以不使用小括号()
- 元组中只包含一个元素时,需在元素后面添加逗号,否则括号会被当作运算符使用
#元组
>>>t=(123,456)
>>>t
(123, 456)
>>>t=tuple('abcde')
>>>t
('a', 'b', 'c', 'd', 'e')
>>>creature='dog','cat','monkey','human'
>>>creature
('dog', 'cat', 'monkey', 'human')
>>>color=(0x001000,'red',creature)
>>>color
(4096, 'red', ('dog', 'cat', 'monkey', 'human'))
>>>t=(123)
>>>type(t)
<class 'int'>
>>>t=(123,)
>>>type(t)
<class 'tuple'>
元组继承了序列的全部操作,其自身没有独特的操作。
>>>creature='dog','cat','monkey','human'
>>>creature[::-1]
('human', 'monkey', 'cat', 'dog')
>>>color=(0x001000,'red',creature)
>>>color[-1][2]
'monkey'
3、列表类型及操作
列表(list)亦是序列类型之一,是最常用的Python数据类型,具有以下特点:
- 创建后可以随意被修改
- 使用方括号[]或list()创建,元素间以逗号分隔
- 列表中各元素类型可以不同,无长度限制
- 列表中可以只包含一个元素
#列表
>>>creature=['dog','cat','monkey','human']
>>>creature
['dog', 'cat', 'monkey', 'human']
>>>creature=['dog']
>>>creature
['dog']
列表同样继承了序列的全部操作,但有其独特的操作函数。
函数 | 含义 |
ls[i]=x | 替换列表ls第i元素为x |
ls[i,l,k]=lt | 用列表lt替换列表ls切片后所对应元素子列表 |
del ls[i] | 删除列表ls第i元素 |
del ls[i,l,k] | 删除列表ls第i到第j步长为k的元素 |
ls+=lt | 更新列表ls,将列表lt中元素增加到ls之后 |
ls*=n | 更新列表ls,其元素重复n次 |
示例:
>>>creature=['dog','cat','monkey','human']
>>>creature[2]='tiger'
>>>creature
['dog', 'cat', 'tiger', 'human']
>>>creature[::-1]
['human', 'tiger', 'cat', 'dog']
>>>del creature[2]
>>>creature
['dog', 'cat', 'human']
>>>color=['red','yellow','green']
>>>creature[1:2]=color
>>>creature
['dog', 'red', 'yellow', 'green', 'human']
>>>creature+=color
>>>creature
['dog', 'red', 'yellow', 'green', 'human', 'red', 'yellow', 'green']