原文: Python range() Function Example
在这篇文章中,你将通过一些代码实例学习如何在 Python 中使用 range() 函数。
Python 中的 range() 函数是什么?range() 函数语法详解
Python 内置的 range() 函数主要在处理 for 循环时使用——你可以用它来循环某些代码块指定次数。
range() 函数接受三个参数——一个是必需的,两个是可选的。
默认情况下,range() 函数的语法就像下面这样:
range(stop)
stop 参数是必需的。
range() 函数返回一个从 0 开始、增量为 1、以你指定的 stop 为结束值的数字序列(不包括结束值)。
但是如果你想遍历你指定的两个数字的范围,而不想从 0 开始计数,怎么办?
你可以传递第二个可选的起始值,start,来指定起始数字。语法是这样的:
range(start, stop)
这种语法在起始值(包括)和结束值(不包括)的基础上生成一个数字序列,以 1 为增量递增。
最后,如果你不希望默认的增量是 1,你可以指定第三个可选的参数,即步长 step。语法是这样的:
range(start, stop, step)
这种语法产生一个数字序列,从 start(包括)开始计数,并根据 step 递增,直到到达 stop(不包括)。
如何使用只有 stop 参数的 range() 函数
当在 range() 中只使用 stop 参数时,计数从 0 开始,按 1 递增,当达到你指定的 stop 值时计数停止。
请记住,你指定的结束值并不包括在内!
如果你指定的 stop 参数是 5,那么范围包括 0-4,而不是 0-5——计数将停止在 4 而不是 5。
让我们看看下面的例子:
for num in range(5):
print(num)
# output
# 0
# 1
# 2
# 3
# 4
在这个例子中,我指定了一个 range(5)。
该函数从 0 开始计数,每次迭代都递增 1,最后结束于 4。
如何使用带有 start 和 stop 参数的 range() 函数
如果你想有一个两个数字的范围,你可以使用两个参数——start 和 stop。请记住,起始值是包括在内的,而结束值则不是。
如果你想要一个从 5(含)到 10(含)的数值范围,你可以这样写一个 range(5,11):
for num in range(5,11):
print(num)
# output
# 5
# 6
# 7
# 8
# 9
# 10
你也可以向 range() 传递负的整数值:
for num in range(-5, 1):
print(num)
# output
# -5
# -4
# -3
# -2
# -1
# 0
这里需要注意的是,你不能向 range() 传递浮点值。
在这个例子中,当我传递两个浮点数作为参数时,会出现错误:
for num in range(5.2, 4.3):
print(num)
# output
# Traceback (most recent call last):
# File "main.py", line 1, in <module>
# for num in range(5.2, 4.3):
# TypeError: 'float' object cannot be interpreted as an integer
你可以传递负整数或正整数作为 start 和 stop 参数。
如何使用带有 start、stop 和 step 参数的 range() 函数
默认情况下,增量值是 1,并且没有指定。也就是说,你可以通过向 range() 函数传递一个 step 参数来改变它。
让我们看看下面的例子:
for num in range(10,21,2):
print(num)
# output
# 10
# 12
# 14
# 16
# 18
# 20
在上面的例子中,我生成了一个从 10 到 20 的数字序列,并将递增量设置为 2,我通过指定 step 值为 2 来实现这一点。
需要注意的是,step 可以是一个负数或正数,但不能是 0。
下面是你如何生成一个带有负数 step 参数的范围:
for num in range(20, 11, -2):
print(num)
# output
# 20
# 18
# 16
# 14
# 12
上面的代码生成了一个反向的数字序列。
再看看当 step 为 0 时发生了什么:
for num in range(10, 21 0):
print(num)
# output
# File "main.py", line 1
# for num in range(10, 21 0):
^
# SyntaxError: invalid syntax
如何使用 range() 函数创建一个数字列表
你可以通过将 range() 函数作为参数传递给 list() 构造函数来创建一个数字列表,就像这样:
my_numbers_list = list(range(5))
print(my_numbers_list)
# output
# [0, 1, 2, 3, 4]
在上面的例子中,我创建了一个从 0 到 4 的数字列表。
如何在 Python 中使用 len() 函数和 range()
假设你有一个项目的列表,想根据列表的长度对这些项目做一些处理。
为此,你可以使用 range() 并将列表的长度作为参数传给函数。
要计算一个列表的长度,可以使用 len() 函数。
programming_languages = ["Python", "JavaScript", "Java", "C++"]
programming_languages_length = len(programming_languages)
for languages in range(programming_languages_length):
print("Hello World")
# output
# Hello World
# Hello World
# Hello World
# Hello World
总结
你现在知道如何在 Python 中使用 range() 函数了。
要学习更多关于 Python 的知识,请查看 freeCodeCamp 的 Python 入门课程。
感谢阅读,happy coding!