序列
是一块用于存放多个值的连续内存空间,并且按照一定顺序排列,没一个值(称为元素)都分配一个数字,称为索引或位置.
通过该索引可以去除相应的值
在Python中,序列结构主要有列表 元组 集合 字典和字符串,对于这些序列结构有以下几个通用的操作.其中,集合和字典
不支持索引 切片 相加和相乘操作.
索引
序列中的每一个元素都有一个编号,也称为索引.这个索引是从0开始递增的,即下标为0表示第一个元素,下标1表示第二个元素,以此类推.
# 元素1 元素2 元素3 元素4 元素... 元素n
# 0 1 2 3 ... n-1
Python比较神奇,他的索引可以是是负数.这个索引从右往左计数,也就是从最后的一个元素开始计数,即最后一个元素的索引值是-1,
倒数第二个元素的索引值为-2,以此类推.
# 元素1 元素2 元素3 元素... 元素n-1 元素n
# -(n-1) -(n-2) -(n-3) ... -2 -1
# 访问元素示例:
# a = ["春天","夏天","秋天","冬天"]
# print (a[2]) #输出第三个元素
# print (a[-1]) #输出最后一个元素
切片
切片操作是访问序列元素的另一种方法,它可以访问一定范围内的元素.通过切换操作可以生成一个新的序列.
语法格式:
sname[start : end :step]
参数说明:
sname:表示序列的名称
start:表示切片的开始位置(包括该位置),如果不指定,则默认为0
end:表示切片的截至位置(不包括该位置),如果不指定,则默认为序列的长度.
step:表示切片的步长,如果省略,则默认为1,当省略该步长时,最后一个冒号也可以省略
# 切片示例:
# a = ["春天","夏天","秋天","冬天","东","南","西","北"]
# print (a[1:5]) #获取第二个到第五个元素
# print (a[:5:2]) #获取第一 第三 第五个元素
序列相加
支持两种相同类型的序列相加操作,即将两个序列进行连接,不会去除重复的元素,使用加 + 运算符实现.
# 序列相加示例:
# a = ["春天","夏天","秋天","冬天"]
# b = ["东","南","西","北"]
# print (a+b)
乘法
使用数字n乘以一个序列会生产新的序列,新序列的内容为原来序列被重复n次的结果.
# 乘法示例
# a = ["春天","夏天","秋天","冬天"]
# print(a * 3)
# 利用乘法初始化指定列表长度示例:
# testlist = [None]*6
# print (testlist)
检查某个元素是否是序列的成员
可以使用in关键字检查某个元素是否为序列的成员,即检查某个元素是否包含在某个序列中
语法:
value in sequence
其中: value 表示要检查的元素,sequence表示指定的序列
# 检查元素示例:
# a = ["春天","夏天","秋天","冬天","东","南","西","北"]
# print ("冬天" in a) # in 检查元素
# print ("夏天" not in a) # not in 检查元素
计算序列的长度 最大值和最小值
Python提供了内置的函数计算序列的长度 最大值和最小值
len() #函数计算序列的长度,即返回序列包含了多少个元素
max() #返回序列中最大的元素
min() #返回序列中最小的元素
其他内置函数:
list() #将序列转换为列表
str() #将序列转换为字符串
sum() #计算元素和
sorted() #对元素进行排序
reversed() #反向序列中的元素
enumerate() #将序列组合为一个索引序列,多用在for循环中
# 计算序列长度示例:
# a = ["春天","夏天","秋天","冬天","东","南","西","北"]
# print ("序列a的长度为",len(a))
# 计算序列中的最大值和最小值示例:
# num = [24,33,32,50,67,14,6,22]
# print ("序列",num,"中的最大值为",max(num))
# print ("序列",num,"中的最小值为",min(num))