Python内置函数之range()详解
Python是一门非常强大的编程语言,它拥有丰富的内置函数。range()是其中一个常用的内置函数,用于生成一个整数序列,常用于for循环。本文将详细讲解range()函数。
1. range()函数基本用法
range()函数用法如下:
range(stop)
range(start, stop[, step])
参数说明:
start:生成整数序列的起始值,可选,默认值为0。
stop:生成整数序列的终止值,必选。
step:步长,可选,默认值为1。
返回值:
返回一个生成整数序列的迭代器。如果只有一个参数,则从0开始生成整数序列,直到stop-1为止。如果有两个参数,则从start开始生成整数序列,直到stop-1为止。如果有三个参数,则从start开始,以step为步长生成整数序列,直到不大于stop-1为止。
下面是一些例子:
# range只有一个参数
for i in range(5):
print(i)
# 输出:0 1 2 3 4
# range有两个参数
for i in range(2, 5):
print(i)
# 输出:2 3 4
# range有三个参数
for i in range(0, 10, 2):
print(i)
# 输出:0 2 4 6 8
可以看出,range()函数可以方便地生成整数序列,并可以根据需求制定起始值、终止值和步长。
2. range()函数与列表生成式
在Python中,列表生成式也可以用于生成整数序列。例如:
a = [i for i in range(5)]
print(a)
# 输出:[0, 1, 2, 3, 4]
那么,range()函数与列表生成式有什么区别呢?主要有以下两点:
(1) range()函数返回的是一个迭代器,需要用for循环或者list()函数才可以转换为列表;而列表生成式直接返回一个列表。
(2) range()函数可以方便地生成固定步长的整数序列,而列表生成式需要手动指定步长。
下面是一个例子,展示range()函数和列表生成式的区别:
# 用range()函数生成一个步长为2的整数序列
a = range(0, 10, 2)
print(a)
# 输出:range(0, 10, 2)
for i in a:
print(i, end=' ')
# 输出:0 2 4 6 8
# 用列表生成式生成一个步长为2的整数序列
b = [i for i in range(0, 10, 2)]
print(b)
# 输出:[0, 2, 4, 6, 8]
可以看出,range()函数和列表生成式的区别并不大,可以根据实际场景选择使用哪一种方式。
总结
本文对Python内置函数之range()进行了详细的讲解,包括参数说明、返回值、基本用法、与列表生成式的区别等。range()函数可以方便地生成整数序列,并可以根据需求制定起始值、终止值和步长,是Python中常用的内置函数之一。
