Python range() 函数的详细介绍及其在循环中的应用
Python中的range()函数是一个用于生成数字序列的内置函数。range()函数可以生成一个包含指定范围内整数的序列。这个序列通常用作循环控制器,因为它让我们非常方便地遍历一系列数字。在Python中,range()函数有三种调用方式:
range(stop)
range(start, stop)
range(start, stop, step)
其中,start、stop和step是参数,具体含义如下:
start:可选,表示数列的起始值,默认为0。
stop:必选,表示数列的结束值。
step:可选,表示数列的步长,默认为1。
下面分别介绍这三种方式的使用方法。
1. range(stop)
当我们只需要生成一个不包括结束值的整数序列时,可以使用range(stop)的方式。此时,生成的序列将从0开始,以step=1的固定间隔逐个生成数字,直到结束值为止。
比如,当我们想要生成0~4这些整数时,可以使用如下的代码:
for i in range(5):
print(i)
运行结果如下:
0
1
2
3
4
2. range(start, stop)
如果我们需要生成的序列不是从0开始,而是从指定的起始值开始,则可以使用range(start, stop)的方式。此时,生成的序列将从start开始,以step=1的固定间隔逐个生成数字,直到结束值为止。
比如,当我们想要生成2~6这些整数时,可以使用如下的代码:
for i in range(2, 7):
print(i)
运行结果如下:
2
3
4
5
6
注意,当使用range(start, stop)方式时,由于右端点不包括在序列中,所以需要将结束值设为比要生成的最大值大1。
3. range(start, stop, step)
如果我们需要自定义序列的步长,则可以使用range(start, stop, step)的方式。此时,生成的序列将从start开始,以指定的步长逐个生成数字,直到生成的最后一个数字不超过结束值为止。
比如,当我们想要生成1~10中所有的偶数时,可以使用如下的代码:
for i in range(2, 11, 2):
print(i)
运行结果如下:
2
4
6
8
10
需要注意的是,step参数必须为一个正整数。如果需要生成一个逆序的序列,可以将step设置为负数,如:
for i in range(10, 0, -1):
print(i)
运行结果如下:
10
9
8
7
6
5
4
3
2
1
在实际的编程过程中,经常会用到for循环来遍历一个序列或集合。而range()函数通常被应用在for循环中,用于控制循环的次数。当遍历的对象是一个固定长度的序列时,我们可以使用range()函数结合len()函数来实现。
比如,当我们想要遍历一个名字列表时,可以使用如下的代码:
names = ['Tom', 'Jerry', 'Mike']
for i in range(len(names)):
print(names[i])
运行结果如下:
Tom
Jerry
Mike
由于range()函数常用于循环控制,因此在Python中经常会看到“for i in range(len(xxx))”的写法。但是,由于在Python中列表和元组等数据类型本身就是可迭代的,所以可以直接采用如下写法:
names = ['Tom', 'Jerry', 'Mike']
for name in names:
print(name)
运行结果如下:
Tom
Jerry
Mike
总之,Python中的range()函数是一个非常强大的工具,它帮助我们方便地生成数字序列,从而控制我们的循环过程,让我们的编程变得更加简洁、高效。
