欢迎访问宙启技术站
智能推送

Python内置函数之range()详解

发布时间:2023-06-21 03:17:40

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中常用的内置函数之一。