为了账号安全,请及时绑定邮箱和手机立即绑定

r2 = range(1,10,2),print(r2[3:5])为什么输出结果是range(7, 11, 2)

r2 = range(1,10,2)

print(r2[3:5])

为什么输出结果是range(7, 11, 2)

正在回答

2 回答

e跟我说过http://img1.sycdn.imooc.com//62db8fd50001fc0513541208.jpg

0 回复 有任何疑惑可以回复我~

首先了解range的语法:

函数语法

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

参数说明:

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

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

  • step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)


r2=range(1,10,2)

说明这个可迭代对象是:1、3、5、7、9

r2[3:5],中r2[3]=7,r[4]=9,r[5]=11

则可以转换为:7、9、11

所以 r2[3:5]=range(7,11,2)

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

所以print(r2[3:5]输出 range(7,11,2)

0 回复 有任何疑惑可以回复我~
#1

慕婉清6599981

1到10,11是如何来的呢,不是已经划分区域了吗
2022-01-27 回复 有任何疑惑可以回复我~
#2

weixin_慕数据4499655 回复 慕婉清6599981

'a=range(1,10,2)' 是一个序列,序列的元素是(1,3,5,7,9)。[3:5]就是第三第四个元素,就是(7,9)。也就是range(7,11,2)。这个序列就是(7,9)
2022-04-15 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

r2 = range(1,10,2),print(r2[3:5])为什么输出结果是range(7, 11, 2)

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信