1. 基本概念
  • 在 Python 中,range是一个内置函数,用于生成一个不可变的等差整数序列。它主要用于循环迭代,特别是在for循环中控制循环次数。
  • 语法和参数
  • range函数有三种常见的语法形式:
    • range(stop):生成一个从 0 开始,以 1 为步长,到stop(不包括stop)的整数序列。例如,range(5)会生成序列0, 1, 2, 3, 4
    • range(start, stop):生成一个从start开始,以 1 为步长,到stop(不包括stop)的整数序列。例如,range(2, 7)会生成序列2, 3, 4, 5, 6
    • range(start, stop, step):生成一个从start开始,以step为步长,到stop(不包括stop)的整数序列。例如,range(1, 10, 2)会生成序列1, 3, 5, 7, 9
  • 返回值类型和特点
  • 返回类型:在 Python 3.x 中,range返回的是一个range对象,而不是像 Python 2.x 中那样返回一个列表。range对象是一个可迭代对象,它存储了生成序列的起始值、终止值和步长等信息,只有在需要时(如在循环中迭代)才会逐个生成序列中的元素。这种设计使得range在生成大型序列时更加节省内存。例如,r = range(1000000)不会立即创建一个包含 100 万个元素的列表,而是一个range对象,当在for循环中使用它(如for i in r:)时,元素才会逐个生成。
  • 序列特点
    • 序列中的元素是按照指定的步长递增(或递减,如果step为负)的整数。例如,range(10, 1, -2)会生成序列10, 8, 6, 4, 2
    • 由于range对象是可迭代的,所以它可以直接用于for循环、in操作符判断元素是否在序列中、list()函数将其转换为列表等操作。例如:
      • for循环中的应用:
        • for i in range(3): print(i),会依次打印出012
      • 转换为列表:
        • my_list = list(range(5)),此时my_list的值为[0, 1, 2, 3, 4]
      • 判断元素是否在range序列中:
        • print(3 in range(5)),结果为True,因为 3 在0, 1, 2, 3, 4这个序列中。
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐