上QQ阅读APP看书,第一时间看更新
4.1 认识序列
微视频
在Python语言中,序列主要包括集合、列表、元组、字典和字符串。对于这些序列有以下几个通用操作。不过需要注意的是,集合和字典不支持索引、切片、相加和相乘操作。
4.1.1 索引
序列中的每个元素都有一个编号,也称为索引。这个索引是从0开始递增,也就是下标0表示第一个元素,下标1表示第2个元素,以此类推。
例如,访问下面列表中的元素。
>>>names = ['张三','王五', '张锋'] >>>names[0] #访问从左边数第1个元素 张三 >>>names[1] #访问从左边数第2个元素 王五
Python支持索引为负数。负数表示从右往左计数,也就是从最后一个元素开始计数。
例如,访问下面列表中的元素。
>>>names = ['张三','王五', '张锋'] >>>names[-1] #访问从右边数第1个元素 张锋 >>>names[-2] #访问从右边数第2个元素 王五
☆大牛提醒☆
采用负数作为索引时,是从-1开始的,也就是最右边的元素的下标为-1。
4.1.2 切片
访问序列中的元素还有一种方法,那就是切片。它可以访问一定范围内的元素。通过切片操作可以生成一个新的序列。语法格式如下:
sname[start : end : step]
各个参数的含义如下:
(1)sname表示序列的名称。
(2)start表示切片开始的位置(包含该位置),如果不指定,则默认为0。
(3)end表示切片结束的位置(不包含该位置),如果不指定,则默认为序列的长度。
(4)step表示切片的步长,如果省略,则默认为1。
下面进行举例说明:
>>>names = ['张三','王五', '张锋','马六','陈平'] >>>names[1:5] #访问从左边数第2到第5个元素 ['王五', '张锋', '马六', '陈平'] >>>names[0:5:2] ['张三', '张锋', '陈平']
4.1.3 序列相加
通过+操作符,可以将两个序列相加。注意集合和字典不支持相加。
+号操作符经常用于字符串和列表元素的组合。例如:
>>>x=[100,200,300]+ [400,500,600] + [700,800,900] >>>x [100, 200, 300, 400, 500, 600, 700, 800, 900] >>>y=["数学","英语","语文"] >>>z="我最喜欢的学科是"+y[1] >>>print(z) 我最喜欢的学科是英语
4.1.4 序列相乘
*号运算符经常用于重复列表中的元素。
例如,将列表中的元素重复3次。
>>>x=["数学","英语","语文"]*3 >>>x ['数学', '英语', '语文', '数学', '英语', '语文', '数学', '英语', '语文']
4.1.5 检查序列中的成员
in运算符用于判断一个元素是否存在于序列中。语法格式如下:
value in sequence
这里的value表示要检查的元素,sequence表示指定的序列。
例如,下面的代码及运行结果:
>>>x=["数学","英语","语文"] >>>y="数学" >>>print(y in x) True >>>z="美术" >>>print(z in x) False
从结果可以看出,当元素是序列中的成员时,结果返回为True,否则返回为False。
☆大牛提醒☆
如果想要检查某个元素是否不在指定的序列中,可以使用not in运算符。
例如,下面的代码将返回为True。
"美术" not in ["数学","英语","语文"]