序列是一块用于存储多个值的连续内存顺序空间,并且按一定顺序排列,每个值(也就是元素)都被分配一个数字,称为索引或者位置。在Python中,序列结构主要有列表、元组、集合、字典和字符串。其中,集合和字典不支持索引、切片、相加和相乘等操作
一.索引
序列中的每个元素都有一个编号,也称为索引(index),即下标。
①正数索引
从0开始编号,即下标为0表示第一个元素。
②负数序列
Python比较神奇,它的索引可以是负数。但需要注意的是,这个序列从右向左计数。
③示例
# -- coding: utf-8 --
verse = ["床前明月光", "疑是地上霜", "举头望明月", "低头思故乡"]
print(verse[-2]) # 输出第三个元素
print(verse[-1]) # 输出最后一个元素
二.切片
①定义
切片(slice)操作是访问序列元素的另一种方法,它可以访问一定范围内的元素。通过切片操作,可以生成一个新的序列
②语法格式
sname[start:end:step]
sname
:表示序列的名称
start:表示切片的开始位置(包含该位置),如果不指定,默认为0.
end:表示切片的截至位置(不包含该位置),如果不指定,则默认为序列的长度。
step:表示切片的步长,如果省略,则默认为1。
③示例
# -- coding: utf-8 --
verse = ["青青园中葵", "朝露待日晞", "阳春布德泽", "万物生光辉", "常恐秋节至", "焜黄华叶衰", "百川东到海", "何时复西归", "少壮不努力", "老大徒伤悲"]
print(verse[1:6])
print(verse[1:6:2])
三.序列相加
Python支持两个或多个相同类型的序列进行加法运算。
①语法格式
verse1+verse2+...+versen
②示例
# -- coding: utf-8 --
verse1 = ["床前明月光", "疑是地上霜", "举头望明月", "低头思故乡"]
verse2 = ["青青园中葵", "朝露待日晞", "阳春布德泽", "万物生光辉", "常恐秋节至", "焜黄华叶衰", "百川东到海", "何时复西归", "少壮不努力", "老大徒伤悲"]
print(verse1+verse2)
四.序列乘法
在Python中,使用数字n乘以一个序列会生成新的序列。(即重复)
①语法格式
verse*n
②示例
# -- coding: utf-8 --
verse1 = ["床前明月光", "疑是地上霜"]
print(verse1*3)
五.检查某个元素是否是序列的成员
在Python中,可以使用in关键字来检查某个元素是否是序列的成员
①语法格式
value in sequence
value:要检查的元素
sequence:指定的序列
②示例
# -- coding: utf-8 --
verse1 = ["床前明月光", "疑是地上霜", "举头望明月", "低头思故乡"]
print("低头思故乡" in verse1)
六.计算序列的长度、最大值和最小值
函数 | 作用 |
---|---|
len() | 计算序列的长度 |
max() | 返回序列中的最大元素 |
min() | 返回序列的最小元素 |
# -- coding: utf-8 --
num = [7, 14, 21, 28, 35, 42, 49, 56, 63]
print("序列num的长度是", len(num))
print("序列", num, "的最大值为", max(num))
print("序列", num, "的最小值为", min(num))