range是一个函数,它返回的是一个可迭代对象,大多使用于for循环中。相当于C/Java 里面的 for (int i = m; i < n; i++)循环
range(stop)
range(start, stop[, step])
start作为开始值,开始值作为开始的那个数,不输入的话默认从0开始
stop作为结束值,结束值所代表的不是结束的那个值,而是结束的那个下标,结束值的下标是从0开始算起。例如你输入5,那么输出之后就是4。(注意:结束值不可省略)
step作为步进值,不进值代表一次你想要步进多少个,假如输入1的话,那输出之后就可以看到每一个数据之间相隔了1的差距,如果步进值省略的话,它的默认值依旧是1,只有当你自己输入其他的步进值,它才会改变。
根据代码来理解range函数的重要值,将代码复制到你的pycharm中,就可以看到三个值的含义了
代码
#coding=utf-8
import time
#代表1到4,不包含4
for i in range(1, 4):
print(i)
#设置停顿三秒
time.sleep(3)
#代表1到10,间隔2,不包含10
for i in range(1, 10, 2):
print(i)
time.sleep(3)
#代表0到5,不包含5
for i in range(5):
print(i)
time.sleep(3)
eg:
代码:
#1<=i<6
for i in range(1, 6):
print(i)
输出结果
从上图可知,1是取到的,而6是没有取到的,相当于数学中的左闭右开区间[1,6)
如果开始值不写的话,就会默认从0开始
eg:
代码
#开始值不输入的话默认从0开始,打印输出0到9
for i in range(10):
print(i)
代码
#步长值不输入的话默认为1
for i in range(1, 10):
print(i)
#步长值输入为2
for i in range(1, 10, 2):
print(i)
代码
#打印输出10,9,8,7,6,5,4,3,2,1,0
for i in range(10, -1, -1):
print(i)
运行结果
由上可知,range(10,-1,-1)反向输出10,9,8,7,6,5,4,3,2,1,0。此时的结束值为-1,而-1取不到,因此取到0,长是-1,相当于每次-1。
代码
list = ["看不", "见你", "的", "笑", "我怎么", "睡", "得", "着"]
for i in range(len(list)):
print(i, list[i])
range()是依次取顺序的数值,常与for循环一起用,如for范围内的每个(0, 5):for循环执行5次,每个取值是0〜4
而list()是把字符串转换为列表,如a = ’01234’ , b = list(a), a打印出来会是一个列表:[‘0’, ‘1’,‘2’,‘3’,‘4’], 如a = [0, 1, 2, 3, 4],输出的结果就会是[0, 1, 2, 3, 4]
代码
#对比range与list
for i in range(0, 5):
print(i)
a = [0, 1, 2, 3, 4]
print(a)