继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Python 的内置函数 range

2882716
关注TA
已关注
手记 70
粉丝 0
获赞 0

Python 的内置函数 range() 用于生成一个不可变的数字序列,通常用于循环迭代。该函数返回的是一个 range 对象,而不是列表,这样可以节省内存空间,特别是处理大范围的数字时。

语法

range(stop)
range(start, stop[, step])

参数说明

  1. start(可选):序列的起始值,默认为 0
  2. stop(必需):序列的结束值(不包含该值)。
  3. step(可选):序列的步长,默认为 1

使用示例

基本用法

# 生成 0 到 4 的序列(不包含 5)
for i in range(5):
    print(i)  # 输出:0, 1, 2, 3, 4

指定起始值和结束值

# 生成 2 到 6 的序列(不包含 7)
for i in range(2, 7):
    print(i)  # 输出:2, 3, 4, 5, 6

指定步长

# 生成 0 到 10 的偶数序列(步长为 2)
for i in range(0, 11, 2):
    print(i)  # 输出:0, 2, 4, 6, 8, 10

负步长

# 生成 5 到 1 的递减序列(步长为 -1)
for i in range(5, 0, -1):
    print(i)  # 输出:5, 4, 3, 2, 1

转换为列表

虽然 range 对象本身是惰性计算的,但可以通过 list() 函数将其转换为列表:

numbers = list(range(5))
print(numbers)  # 输出:[0, 1, 2, 3, 4]

应用场景

  1. 循环迭代:最常见的用途是在 for 循环中生成索引序列。
  2. 列表生成:结合 list() 快速生成数字列表。
  3. 数学运算:用于生成特定规律的数值序列,如等差数列。
  4. 切片操作:配合 len() 函数实现列表的遍历和切片。

注意事项

  • range 对象是惰性计算的,不会立即生成所有值,只有在需要时才计算,因此内存效率高。
  • stop 参数的值不会被包含在序列中,序列的最后一个值是 stop - 1(当步长为正时)。
  • 如果 start 大于 stop 且步长为正,或者 start 小于 stop 且步长为负,range 将返回空序列。

通过灵活使用 range() 函数,可以高效地处理各种需要数字序列的场景。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP