Python中的range函数(创建range对象的三种方式)

range() 函数是用于生成一个整数序列,默认从0开始,并且默认递增1,以指定的数字结束。它的返回值是一个迭代器对象(可以使用for循环遍历)。

通常会使用range作为for循环遍历的对象。

range函数有三个参数:(start,stop,sep)

start:序列的起始位置,可省略,默认为0。

stop:序列的结束位置,不包含stop,不可省略。

sep:步长,就是数据间隔,可省略,默认为1。

创建range对象一共有三种方式:

1、省略start和sep —> range(stop)

这样子是创建一个[0,stop)之间的整数序列,步长为默认值1(注意是左闭右开,不包含stop。)

代码演示:

r = range(10)   # range的返回值是一个迭代器对象。
# 可以用循环将它遍历输出查看
for i in r:
    print(i)
# 也可以放到列表中查看。
print(list(r))  # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]


for i in range(10):
    print(i)

2、省略sep —> range(start,stop)

如果只省略 sep,则创建一个[start,stop)之间的整数序列,步长为默认值1。

for i in range(5,10):
    print(i)

print(list(range(5,10)))    # [5, 6, 7, 8, 9]
图片[1]-Python中的range函数(创建range对象的三种方式)-尤尤'blog

3、range(start,stop,step)

如果三个参数都不省略,会创建一个[start,stop)之间的整数序列,步长为step。

# 输出1、3、5、7、9。  步长为2,[1,10)
for i in range(1,10,2):
    print(i)

# 使用list()转为列表输出
print(list(range(1,10,2)))  # [1, 3, 5, 7, 9]
图片[2]-Python中的range函数(创建range对象的三种方式)-尤尤'blog

range类型的优点

因为range只需要存储start,stop和step,因为只有在使用range对象时,才会去计算序列中的相关元素,所以不管range对象表示的整数序列有多长,所有range对象占用的内存空间都是相同的。

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容