原文: 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!