6.4 序列及range函数
6.4 序列及range函数
6.4.1 序列的概念
序列是指一种可迭代的、元素有序的的数据类型。
序列包括:字符串、列表、元组、range对象等。
序列的特点:
1.序列的元素都是有序的;
2.每一个元素都带有序号,这个序号叫做索引。
3.索引有正索引和负索引之分。
4.正索引从0
开始编号。
5.序列取值语法:序列[索引]
索引取值
# 新建一个变量a存储字符串
a = 'Hello'
# 用序列[索引]的方法取值
print(a[0])
print(a[4])
【终端输出】
H
o
索引0
对应的是字符串的第1个字母,a[0]取到的是第1个元素H。
索引4
对应的是字符串的第5个字母,a[4]取到的是第5个元素o。
6.4.2 range函数
回忆切片索引
# # 新建一个变量a存储字符串
a = 'Hello'
# 用序列[索引]的方法取值
print(a[0:3])
print(a[:3])
print(a[1:3])
【终端输出】
Hel
Hel
el
切片索引的语法是索引从0开始,含前不含后,0可以省略。
索引0:3
分别对应字符串第1个,第4个字母,不含后,则取值范围为第1个至第3个字母,取到的是Hel。
切片索引0可以省略,因此0:3
和:3
取到的都是Hel。
索引1:3
分别对应字符串第2个,第4个字母,不含后,则取值范围为第2个至第3个字母,取到的是el。
range函数的作用:生成一个整数序列。
range函数生成的对象也是序列的一种。
range 函数语法
range(参数,参数,参数)
注意1:参数只能是整数。
注意2:参数最少1个,至多3个。
range(stop):有1个参数。默认从0开始,默认两个数相差为1,两个数的差也称为步长。
range(star,stop):有2个参数,则第1个为开始数字,第2个为结束数字,默认步长为1。
range(star,stop,step):有3个参数,则第1个为开始数字,第2个为结束数字,第3个数为步长,就是两个数相差的值。
range 函数和索引切片的语法是一样的:含前不含后,0可以省略。
区别1:range 函数的参数之间用英文逗号,
分隔,索引切片是用英文冒号:
分隔。
区别2:range 函数的参数用圆括号()
,索引用中括号[]
。
range 函数返回值是一个迭代器对象,我们没法看到序列中的具体数据,我们可以利用list或tuple函数查看具体的数据。
体验代码
括号内只有1个参数
# 创建一个range 函数,将结果赋值给变量r
r = range(3)
# 输出r
print(r)
# 用list 查看range对象中的整数序列
print(list(r))
# 用tuple 查看range对象中的整数序列
print(tuple(r))
【终端输出】
range(0, 3)
[0, 1, 2]
(0, 1, 2)
range函数的作用是生成一个整数序列。
因为是整数序列,因此range函数的参数只能是整数。
(3)
表示起始数字为0,结束数字为3,含0不含3,因此序列有0,1,2三个数。
体验代码
括号内有2个参数
# 创建一个range 函数,将结果赋值给变量r
r = range(2,5)
# 输出r
print(r)
# 用list 查看range对象中的整数序列
print(list(r))
# 用tuple 查看range对象中的整数序列
print(tuple(r))
【终端输出】
range(2, 5)
[2, 3, 4]
(2, 3, 4)
有2个参数时,默认步长为1。
(2,5)
起始数字为2,结束数字为5,含2不含5,因此序列有2,3,4三个数。
体验代码
括号内有3个参数
# 创建一个range 函数,将结果赋值给变量r
r = range(2,11,3)
# 输出r
print(r)
# 用list 查看range对象中的整数序列
print(list(r))
# 用tuple 查看range对象中的整数序列
print(tuple(r))
【终端输出】
range(2, 11, 3)
[2, 5, 8]
(2, 5, 8)
上述代码有3个参数,步长为3。
(2,11,3)
起始数字为2,结束数字为11,含2不含11。
序列第一个数为2,
第2个数为2+3=5,
第3个数为5+3=8,
因此序列有2,5,8三个数。
6.4.3 总结
range 函数是一个常用的函数,在爬虫中通常和for 循环一起搭配来控制访问的网页页数。
备注:文中部分图片来源书籍《看漫画学Python》。