在本教程中,我们将借助示例了解 Python range() 函数。
该range()
函数返回给定范围之间的数字序列。
例子
# create a sequence of numbers from 0 to 3
numbers = range(4)
# iterating through the sequence of numbers
for i in numbers:
print(i)
# Output:
# 0
# 1
# 2
# 3
注意: range()
返回一个不可变的数字序列,可以很容易地转换为列表、元组、集合等。
range() 的语法
该range()
函数最多可以接受三个参数:
range(start, stop, step)
start
in和step
参数range()
是可选的。
现在,让我们看看如何range()
处理不同数量的参数。
示例 1:带停止参数的 range()
如果我们将单个参数传递给range()
,则意味着我们正在传递stop
参数。
在这种情况下,range()
返回从0到数字(但不包括数字)的数字序列。
# numbers from 0 to 3 (4 is not included)
numbers = range(4)
print(list(numbers)) # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range(-4)
print(list(numbers)) # []
示例 2:具有开始和停止参数的 range()
如果我们将两个参数传递给range()
,这意味着我们正在传递start
和stop
参数。
在这种情况下,range()
返回从start
(包括)到stop
(不包括)的数字序列。
# numbers from 2 to 4 (5 is not included)
numbers = range(2, 5)
print(list(numbers)) # [2, 3, 4]
# numbers from -2 to 3 (4 is not included)
numbers = range(-2, 4)
print(list(numbers)) # [-2, -1, 0, 1, 2, 3]
# returns an empty sequence of numbers
numbers = range(4, 2)
print(list(numbers)) # []
示例 3:具有 Start、Stop 和 Step 参数的 range()
如果我们通过所有三个参数,
- 第一个参数是
start
- 第二个参数是
stop
- 第三个参数是
step
该step
参数指定序列中两个数字之间的增量。
# numbers from 2 to 10 with increment 3 between numbers
numbers = range(2, 10, 3)
print(list(numbers)) # [2, 5, 8]
# numbers from 4 to -1 with increment of -1
numbers = range(4, -1, -1)
print(list(numbers)) # [4, 3, 2, 1, 0]
# numbers from 1 to 4 with increment of 1
# range(0, 5, 1) is equivalent to range(5)
numbers = range(0, 5, 1)
print(list(numbers)) # [0, 1, 2, 3, 4]
注意:的默认值为start
0, 的默认值为step
1。所以range(0, 5, 1)
等价于range(5)
.
for 循环中的 range()
该range()
函数通常用于for 循环中,以对循环进行一定次数的迭代。例如,
# iterate the loop 5 times
for i in range(5):
print(i, 'Hello')
0 Hello 1 Hello 2 Hello 3 Hello 4 Hello