1. Python中的range语句详解
range()是Python中一个非常实用的内置函数,它能够生成一个整数序列。这个函数在循环、列表生成等场景中经常使用。让我们深入理解它的工作原理。
1.1 range函数的基本语法
range()函数有三种调用方式:
- range(stop)
- range(start, stop)
- range(start, stop, step)
其中:
- start:序列的起始值(包含),默认为0
- stop:序列的结束值(不包含),必须指定
- step:步长,即相邻两个数之间的差值,默认为1
python复制# 示例1:生成0-4的序列
for i in range(5):
print(i, end=" ") # 输出:0 1 2 3 4
# 示例2:生成2-5的序列
for i in range(2, 6):
print(i, end=" ") # 输出:2 3 4 5
# 示例3:生成1-9的奇数序列
for i in range(1, 10, 2):
print(i, end=" ") # 输出:1 3 5 7 9
1.2 倒序输出的range
当我们需要倒序输出数字时,需要设置step为负数,同时确保start > stop:
python复制# 倒序输出10到1
for i in range(10, 0, -1):
print(i, end=" ") # 输出:10 9 8 7 6 5 4 3 2 1
# 倒序输出10到1的偶数
for i in range(10, 0, -2):
print(i, end=" ") # 输出:10 8 6 4 2
注意:当step为负数时,必须确保start > stop,否则不会产生任何输出。例如range(1, 10, -1)不会输出任何内容。
1.3 range的内存效率
range()函数返回的是一个"range对象",而不是一个实际的列表。这意味着它只在需要时才生成数字,非常节省内存。这与Python 2中的xrange()函数行为类似。
python复制# 比较range和list的内存占用
import sys
pr
