概述
序列类型是一维元素向量,元素之间存在先后关系,通过序号访问。序列的基本思想和表示方法均来源于数学概念。在数学中,经常给每个序列起一个名字,例如,n个数的序列s,可以表示为;
s = s 0 , s 1 , s 2 , s 2 , . . . , s n − 1 s=s_0,s_1,s_2,s_2,...,s_{n-1} s=s0,s1,s2,s2,...,sn−1
当需要访问序列中某个特定值时,只需要通过下标标出即可。例如,需要找到序号为2的元素,即可通过s[2]获得。注意,序列的下标从0开始编号。
由于元素之间存在顺序关系,所以序列中可以存在数值相同但位置不同的元素。Python语言中有很多数据类型都是序列类型,其中比较重要的是字符串类型
、列表类型
和元组类型
。
字符串类型可以看成是单一字符串的有序集合,属于序列类型。列表则是一个可以使用多种类型元素的序列类型。
序列类型各个具体类型使用相同的索引体系,与字符串类型一样,即正向递增序号和反向递减序号。
需要注意,序列类型的正向递增序号从0开始。通常说第1个元素,指的是序号为0的元素。
序列类型的操作符和函数 | |
---|---|
操作符 | 描述 |
x in s | 如果x是s的元素,返回True;否则返回False |
x not in s | 如果x不是s的元素,返回True;否则返回False |
s+t | 连接s和t |
s ∗ n s*n s∗n或 n ∗ s n*s n∗s | 将序列s复制n次 |
s[i] | 索引,返回序列的第i个元素 |
s[i:j] | 切片,返回包含序列s的第i到j个元素的子序列(不包含第j个元素) |
s[i:j:k] | 步骤切片,返回包含序列s的第i到j个元素以k为步数的子序列 |
len(s) | 序列s的元素个数(长度) |
min(s) | 序列s中的最小元素 |
max(s) | 序列s中的最大元素 |
s.index(x) | 序列s中第一次出现元素x的位置 |
s.count(x) | 序列s中出现x的总次数 |
元组类型是序列类型的重要组成之一。元组类型在Python语言中表示为tuple,一般以小括号和逗号进行组织。
元组类型一旦定义就不能修改,在编程中不够灵活,同时,元组类型的所有操作都可以由列表类型实现。因此,一般编程中,如果需要自定义变量,通常以列表类型替代元组类型使用。如果确认编程中不需要修改数据,可以使用元组类型。
元组类型主要在Python语法相关的场景使用,例如,当函数返回多个值时,多个返回值以元组类型返回,实际上返回一个数据类型。如:
def func():
return 1,2,3
a = func()
print(a) #(1,2,3)