本文介绍: range() 是 Python 内置一个函数用于生成一个整数序列startstopstep 分别表示序列的起始值、终止值和步长startstep 是可选参数,如果不指定默认为 0 和 1。


range() 是 Python 内置一个函数用于生成一个整数序列。具体来说,它的定义如下

range([start], [stop], [step])

startstopstep 分别表示序列的起始值、终止值和步长startstep 是可选参数,如果不指定则默认为 0 和 1。

一、range()传递不同的参数

1、传递一个参数时

当只传入一个参数时,表示生成从 0 开始、小于该参数的整数序列例如

>>> range(5)
#range(0, 5)

这个例子中,range(5) 表示生成一个从 0 开始、小于 5 的整数序列需要注意的是,实际上 range() 函数返回的是一个 range 类型对象,并不是一个列表,但在大多数情况下可以列表一样使用

2、传递两个参数时

当传入两个参数时,表示生成start 开始、小于 stop整数序列例如

>>> range(2, 5)
range(2, 5)

这个例子中,range(2, 5) 表示生成一个从 2 开始、小于 5 的整数序列

3、传递三个参数时

当传入三个参数时,表示生成从 start 开始、每次增加 step、小于 stop整数序列。例如

>>> range(0, 10, 2)
range(0, 10, 2)

range(0, 10, 2) 表示生成一个从 0 开始、每次增加 2、小于 10 的整数序列。

需要注意的是,当 step 为正数时,stop 必须大于 start,否则将无法生成任何数字例如

>>> range(5, 2)
range(5, 2)

这个例子中,由于 start=5、stop=2、step=1,因此无法生成任何数字

另外,当 step 为负数时,start 必须大于 stop 才能生成序列。例如

>>> range(5, 2, -1)
range(5, 2, -1)

于 start=5、stop=2、step=-1,因此生成的序列为 5、4、3。

在实际应用中,range() 函数还有许多常见用法接下来,将详细介绍 range() 函数的各项用法,包括:

  1. 使用 range() 构建 for 循环
  2. 遍历列表使用 range(len()) 的用法
  3. 利用 range() 生成固定长度的等差数列
  4. 利用 range() 生成逆序整数序列

二、使用 range() 构建 for 循环

range() 函数常见的用法之一是用于构建 for 循环迭代器。例如,以下代码演示如何使用 range() 函数构建一个从 0 到 4 的循环

for i in range(5):
    print(i)

输出结果

0
1
2
3
4

range(5) 返回一个包含 5 个元素整数序列,然后在 for 循环使用每个元素变量 i 进行赋值输出

需要注意的是,当使用 range() 函数时,循环变量 i取值范围为 0 到 n-1。因此,如果需要从 1 开始循环可以通过加一方式实现

for i in range(1, 6):
    print(i)
1
2
3
4
5

三、遍历列表时使用 range(len()) 的用法

处理列表时,有时需要同时遍历列表的索引数值。这时可以利用 range(len()) 函数来生成与列表长度相同的整数序列,并在循环中使用该序列的元素作为列表的索引例如,以下代码演示如何遍历一个列表并输出索引数值

fruit_list = ['apple', 'banana', 'orange']
for i in range(len(fruit_list)):
    print('Index:', i, 'Value:', fruit_list[i])

输出结果

Index: 0 Value: apple
Index: 1 Value: banana
Index: 2 Value: orange

这个例子中,range(len(fruit_list)) 返回包含 3 个元素的整数序列 [0, 1, 2],循环时使用该序列的元素 i 作为 fruit_list 的索引,并通过 fruit_list[i] 访问表中的元素。

3.1 直接使用for循环遍历列表

需要注意的是,虽然可以通过遍历列表的索引数值处理列表,但在 Python 中通常更推荐使用迭代器的方式。例如可以使用 for 循环来直接遍历列表的每个元素:

for fruit in fruit_list:
    print(fruit)

输出结果如下

apple
banana
orange

四、利用 range() 生成固定长度的等差数列

除了在 for 循环中使用 range() 函数外,还可以利用它来生成固定长度的等差数列。具体来说,在 Python 中可以使用列表解析结合 range() 函数来实现这一功能。以下代码演示了如何生成一个长度为 5、以 2 为首项、公差为 3 的等差数列:

a = [2 + 3 * i for i in range(5)]
print(a)

输出结果

[2, 5, 8, 11, 14]

range(5) 返回一个包含 5 个元素的整数序列 [0, 1, 2, 3, 4],然后使用列表解析式对每个元素 i 进行计算,并将结果存储到列表 a 中。

需要注意的是,由于 range() 函数默认从 0 开始,因此在计算时需要加上首项。如果希望使用其他值作为首项,则可以传入 start 参数:

a = [10 + 3 * i for i in range(5)]
print(a)

输出结果:

[10, 13, 16, 19, 22]

五、利用 range() 生成逆序的整数序列

除了正序的整数序列外,有时还需要生成倒序逆序)的整数序列。在 Python 中,可以使用 step=-1 的方式来实现这一功能例如,以下代码演示了如何生成一个从 9 到 0 的逆序序列:

for i in range(9, -1, -1):
    print(i)
9
8
7
6
5
4
3
2
1
0

这个例子中,range(9, -1, -1) 返回包含 10 个元素的整数序列 [9, 8, 7, 6, 5, 4, 3, 2, 1, 0],然后在 for 循环中遍历该序列并输出每个元素。

需要注意的是,在生成逆序序列时,stop 参数必须比 start 参数小,并且 step 必须为负数。如果不满足条件,则 range() 函数将返回空序列。

原文地址:https://blog.csdn.net/m0_58857684/article/details/130844579

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_24750.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注