Python3基础9——range()函数

Python3的range()函数生成一个可迭代对象而非列表,可通过list()转换为列表。函数参数包括start(默认0)、end(不包含)和step(默认1)。如果start大于end且step为正,或者start小于end且step为负,返回空。可以结合reversed()进行倒序操作,切片操作也可实现反向遍历。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python3 range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表

list() 函数是对象迭代器,可以把range()返回的可迭代对象转为一个列表,返回的变量类型为列表。

函数语法:range(start,end,[step])

参数含义:start:计数从start开始。默认是从0开始。例如range(5)等价于range(0, 5);

                  end:计数到end结束,但不包括end.例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5

                  step:每次跳跃的间距,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

range(m,n,k) m头,默认为0; n尾 ;k步长默认为1,取头不取尾;

当步长为正,头大于尾,即m>n,k>0,返回为空,例如:range(6,1,2)

当步长为负,头小于尾,即m<n,k<0,返回为空,例如:range(0,6,-1)

正序排序:

range(1,5,1) <<< 1,2,3,4,5
range(1,6,2) <<< 1,3,5

倒序排列,如果是list,可以直接用reversed(seq),seq -- 要转换的序列,可以是 tuple, string, list 或 range:

range(6,0,-1)  <<< 6,5,4,3,2,1
range(0,-5,-2) <<< 0,-2,-4

a = [1,2,3,4,5]
for x in reversed(a):
     print x

<<< 5,4,3,2,1

a = [1,2,3,4,5]
for x in range(len(a)-1,-1,-1):
    print(a[i])

<<< 5,4,3,2,1

解释:len(a)是5,所以range的表达式实际上是range(4,-1,-1)。即[4,-1),步长是-1,也就是说4是开始并包含在里面,所以要len(a)-1,然后-1是3,然后是2,然后是1,然后是0,-1是结尾,但不包含。所以输出是a[4],a[3],a[2],a[1],a[0],这样就做到了从尾到头便利list。

切片:

L = [1, 2, 3]

print(L(0:2:-1))   <<< [3, 2, 1]

print(L(::-1))     <<< [3, 2, 1]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值