Python range 函数

Python range 函数用于生成一个数字序列。或者,这个 range 函数可以帮助迭代列表、元组、集合、字符串等可迭代对象中的项。

在本节中,我们将通过多个示例,讨论如何使用 range 函数从起始点到停止点生成数字。

此 Python 函数的语法包含 range start、stop、step。start、stop 和 step 等所有参数都可以接受正整数或负整数。

range(start, stop, step)
  • Start(可选)– 起始位置的数字。如果省略此参数,Python range 函数将从 0 开始。
  • Stop – 此数字之前的数值是结束值。例如,(1, 10) 将打印从 1 到 9 的值。
  • Step(可选)– 生成的数字序列。它决定了每个整数值之间的间隔或差值。例如,(1, 10, 2) 返回 1、3、5、7 和 9。您会注意到每个整数之间的差值为 2。

Python range 示例

以下 range 函数示例列表通过指定的步长,从给定的起始点生成数字序列到停止点。通过将输出分配给一个可迭代对象,可以在单个语句中显示更多的项目。

Python 列表 range 示例

在此列表对象 range 函数示例中,我们使用了一个参数,即停止值。第一个语句从 0 开始并在 0 停止,这意味着它生成一个空序列。

第二个 range 对象从 0 开始并在 5 停止。类似地,如果我们使用 10 作为参数值(停止),此方法将从 0 开始并在 9 结束。在这里,我们使用 list 函数来绑定和显示它生成的数字。

print(list(range(0)))
 
print(list(range(5)))
[]
[0, 1, 2, 3, 4]

元组 range 示例

在此元组整数 range 示例中,我们也使用了一个参数。但是,这次我们使用带单个参数的 tuple 函数来显示生成的项。

提示:请参阅 Python 中的 列表元组 文章。

print(tuple(range(5)))
(0, 1, 2, 3, 4)

Python range 函数带有两个参数

此 range 示例使用了两个参数,即起始点和停止参数。例如,print(5, 15) 将打印从 5 到 14 的数字序列,而 (150, 165) 则以默认的步长值返回从 150 到 164 的整数序列。

您也可以将负值用作 range 参数值。在这里,我们也使用了负值作为起始点和结束点。第四个语句从 -10 开始并在 0 结束,第五个语句从 -15 开始并在 -4 停止。

print(list(range(5, 15)))

print(list(range(-10, 1)))
[5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
[-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0]

Python range start、stop 和 step 参数

使用带三个参数的 range 对象,它们是起始点、结束点和步长。在这里,(0, 10, 2) 打印从 0 到 9 的数字列表,并且连续数字之间的间隔差应为 2。

print(list(range(0, 10, 2)))
[0, 2, 4, 6, 8]

如果我们使用类似 (150, 500, 50) 的参数,将返回从 150 到 499 的数字,间隔为 50。结果将是 [150, 200, 250, 300, 350, 400, 450]。

range 函数使用负值进行反转

这是一个 range 反转的示例。这意味着您也可以使用它来反向打印项。

在这里,我们使用了负值作为起始点、停止点和步长。如果将负值用作步长参数,reverse 函数将以相反的顺序返回。例如,(300, 1, -25) 配合负步长返回从 300 到 1 的数字,间隔差为 25 (300, 275, 250...)。

print(list(range(-10, 1, 2)))
 
print(list(range(300, 1, -25)))
[-10, -8, -6, -4, -2, 0]
[300, 275, 250, 225, 200, 175, 150, 125, 100, 75, 50, 25]

Python for 循环 range 函数

到目前为止,我们一直使用列表或元组来保存元素并将其作为输出返回。通常,我们与 For 循环 一起使用此函数来迭代任何可迭代对象。

for 循环 range 生成并打印从 0 到 9 的值。但是,在 print 方法中,我们将每个数字乘以 2。因此,输出将是 0、2、4、6 等。

for i in range(10):
    print(i * 2)
0
2
4
6
8
10
12
14
16
18

使用带两个参数的 for 循环 range。我们在 print 语句中使用了结束参数来使输出简短。

Python Range Function Example

for 循环 range 函数与步长参数

在这里,我们使用了步长。第一个 for 循环从 15 开始,到 110 结束。这里的两个数字之间的间隔差为 10。

for i in range(15, 110, 10):
    print(i, end = ', ')
15, 25, 35, 45, 55, 65, 75, 85, 95, 105,  

range 函数打印字符串文本

使用 range 函数多次打印相同的语句或相同的字符串。第一个语句从 1 打印到 4(四次)。默认情况下,它从 0 开始并打印五次。但是,我们将 1 作为第一个参数,因此它打印四次。在第二个语句中,我们删除了第一个参数。如果使用 (0, 2**3) 作为参数,它将打印字符串八次。

for i in range(1, 5):
    print('Tutorial Gateway')
Tutorial Gateway
Tutorial Gateway
Tutorial Gateway
Tutorial Gateway

Python range 函数打印字符串中的字符

在此示例中,我们声明了一个 字符串。接下来,我们使用 for 循环通过此方法迭代字符串中的每个字符。

在其中,我们使用内置的 len 方法 来查找字符串的长度,并将其用作此函数的终点。这意味着循环从 0 开始并在 len(company) 停止。我们使用索引值来打印字符。

company = 'Tutorial Gateway'
 
for i in range(len(company)):
    print(company[i], end = ', ')
T, u, t, o, r, i, a, l,  , G, a, t, e, w, a, y, 

range 函数迭代器示例

我将使用此 range 函数迭代列表和元组等可迭代对象。第一个是遍历水果列表并打印它们。下一个是迭代元组并打印元组项。

Fruits = ['Apple', 'Kiwi', 'Grape', 'Banana']
for i in range(len(Fruits)):
    print(Fruits[i])
 
print('--------------')
x = (10, 20, 30, 40, 50, 60, 70, 80, 90)
for i in range(len(x)):
    print(x[i])
Apple
Kiwi
Grape
Banana
--------------
10
20
30
40
50
60
70
80
90