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

来源:1-1 Python简介

weixin_慕妹1006807

2022-01-14 17:43

r2 = range(1,10,2)

print(r2[3:5])

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

写回答 关注

2回答

  • 慕粉3410778
    2022-07-23 14:06:17

    e跟我说过http://img3.mukewang.com/62db8fd50001fc0513541208.jpg

  • 吕郭飞
    2022-01-15 16:43:22

    首先了解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)

    weixin... 回复慕婉清659...

    'a=range(1,10,2)' 是一个序列,序列的元素是(1,3,5,7,9)。[3:5]就是第三第四个元素,就是(7,9)。也就是range(7,11,2)。这个序列就是(7,9)

    2022-04-15 21:44:08

    共 2 条回复 >

Python3 入门教程(新版)

python3入门教程,让你快速入门并能编写简单的Python程序

154159 学习 · 1075 问题

查看课程

相似问题