range()
函数是 Python 中一个内置函数,用于生成一个数字序列。这个函数通常用于在 for 循环中迭代一个指定的次数。range()
函数可以接收一到三个参数,分别是起始值(start)、结束值(stop)和步长(step),但步长是可选的,默认值为 1。
基本用法
- 两个参数:
range(start, stop)
- 生成一个从
start
开始到stop
结束(不包括stop
)的整数序列。 - 例如:
range(0, 5)
会生成一个序列[0, 1, 2, 3, 4]
。
- 生成一个从
- 三个参数:
range(start, stop, step)
- 除了起始值和结束值外,还指定了一个步长。
- 例如:
range(0, 10, 2)
会生成一个序列[0, 2, 4, 6, 8]
。
注意事项
range()
生成的是一个可迭代对象,而不是列表(list)。这意味着它不会立即生成所有值,而是按需生成,这对于处理大量数据时非常有用,因为它可以减少内存的使用。- 如果你想将
range()
生成的序列转换为列表,可以使用list()
函数。例如:list(range(0, 5))
将生成列表[0, 1, 2, 3, 4]
。 range()
的起始值默认为 0,步长默认为 1。如果你只提供一个参数,它将作为结束值,起始值默认为 0。例如:range(5)
等同于range(0, 5)
。- 步长也可以是负数,表示逆向生成序列。例如:
range(5, 0, -1)
会生成[5, 4, 3, 2, 1]
。
示例
# 基本用法
for i in range(5):
print(i) # 输出 0 到 4
# 使用起始值和结束值
for i in range(1, 6):
print(i) # 输出 1 到 5
# 使用起始值、结束值和步长
for i in range(0, 10, 2):
print(i) # 输出 0, 2, 4, 6, 8
# 转换为列表
numbers = list(range(3))
print(numbers) # 输出 [0, 1, 2]
# 逆向生成
for i in range(5, 0, -1):
print(i) # 输出 5 到 1
range()
函数是 Python 中处理循环和迭代时非常有用的工具,其简洁性和灵活性使得它成为 Python 编程中不可或缺的一部分。