序列的应用
在数学里,序列也称为数列,是指按照一定顺序的一列数,而在程序设计中,序列是一种常用的数据存储方式,几乎每一种程序设计语言都提供了类似的数据结构。例如,c语言或java中的数组等。
在python中序列是最基本的数据结构,它是一块用于存放多个值的连续内存空间。python中内置了5个常用的序列结构,分别是列表、元组、字典和字符串等。
序列
序列是一块用于存放多个值的连续的空间,并且但一定顺序排列,每一个值(称为元素)都分配一个数字,称为索引或位置,通过该索引可以取出相应的值。
在python中,序列结构主要有列表、元组、集合和字典。对于这些序列结构有以下几个通用操作。
一、索引
序列中的每一个元素都有一个编号,也称为索引。这个索引是从0开始递增的,即下标为0为第一个元素,下标为1表示第二个元素,依次类推。
python中索引也可以用复数表示,从右往左开始,右边第一个对应的为-1.
例:
verse
verse = ["xiwen","gouyudan","fengziyi"] print(verse[0]) print(verse[-1])
string = "我们都要好好的" print(string[-1])
二、切片
切片操作是访问序列元素的另一种方法,他可以访问一定范围的元素。通过切片可以生成一个新的序列。语法如下:
sname [start:end:step]
sname 序列的名称
start 切片开开始的位置 可以省略,默认为0开始
end。 切片结束的位置 不能省略
step 表示切片的步长。如果省略,则默认为1,当省略步长最后一个冒号也可以省略
例:
nba = ["乔丹","拉塞尔","科比","邓肯","艾佛森","姚明","约翰逊","詹姆斯","奥尼尔"] print(nba[1:5]) print(nba[0:5:2]) print(nba[:])
说明:如果想要复制整个序列,可以将start和end参数都省略,但是中间的冒号不可以省略。
三、序列相加
在python中,支持两种相同类型的序列相加操作,即将连个序列进行连接,使用加(+)运算符实现,例如将两个序列相加可以使用下面代码:
nba1 = ["乔丹","拉塞尔","科比","邓肯","艾佛森","姚明","约翰逊","詹姆斯","奥尼尔"] nba2 = ["姚明","郭艾伦","易建联","林书豪","王大治","周琦","巴勒","詹姆斯","奥尼尔"] nba = nba1 + nba2 print(nba)
说明:在进行序列相加时,相同类型的序列是指列表、元组、集合等,序列中的元素类型可以不同。但不能是列表和元组相加,或者列表和字符穿相加,会报错。
四、乘法
在python中,使用数字n乘以一个序列会生成一个新的序列,新的序列的内容为原来序列重复n次的结果。
例:
phone = ["huawei mate 40","vivo fildx"] print(phone*3) number=[1,2,3] print(number*3) print("*"*10)
在进行序列乘法运算是,还可以实现初始化指定列表的功能。
emptylist = [None]*5
print(emptylist)
执行结果:[None, None, None, None, None]
五、检查某个元素是否是序列的成员(元素)
在python中,可以使用in关键字检查某个元素是否是序列的成员,即检查某个元素是否包含在序列中。语法格式如下:
value in sequence
其中value表示要检查的元素;sequence表示指定的序列。
另外在python中,可以使用not in 关键字实现检查某个元素是否不包含在指定的序列中
例:
nba = ["乔丹","拉塞尔","科比","邓肯","艾佛森","姚明","约翰逊","詹姆斯","奥尼尔"] print("乔丹" in nba) #是否在列表中 print("乔丹" not in nba) #不在列表中
执行结果:True
False
六、计算序列的长度、最大值和最小值
在python中,提供内置函数计算序列的长度、最大值和最小值,分表示使用
len()函数计算序列的长度,即返回序列包含多少个元素;
max()函数返回序列中最大的元素;
min()函数返回序列中最小元素。
number= [15,60,70,80,90] print(len(number)) print(max(number)) print(min(number))
执行结果:5
90
15
python中内置函数及其作用
#list() 可以把序列转换为列表 #str() 可以把序列转换为字符串 #sum() 用来计算列表中元素和的 #sorted() 对元素进行排序的 #reversed() 反转序列元素 #enumerate() 将序列组合为索引数列,多用在for循环中