Edisoncheng 发表于 2020-6-6 02:30:36

小白求助 range函数在python shell中无法显示

请问一下大家为什么会遇到这种情况呢?

wp231957 发表于 2020-6-6 06:55:36

这不正常吗
你得看你想干嘛,还有,是不是知道range到底是个啥?

永恒的蓝色梦想 发表于 2020-6-6 07:10:11

难道不应该这么显示?



改成list(range(0, 4))

海上飞鱼 发表于 2020-6-6 07:23:12

在Python3.x中range函数的返回值是一个range对象,而在Python2.x中range函数的返回值是一个列表,所以在python3.x中需要使range返回一个列表可以使用list(range(a,b,step))的形式。

Twilight6 发表于 2020-6-6 08:24:15

这是肯定的,单纯的 range(x,y) 是返回一个 range(x,y) 对象,range(x,y) 对象里是个整数类型的列表,

不过你可以直接通过索引 range(x,y) 的下标来找到对应元素,或者 直接 list(range(x,y)) 转化为列表,比如:
temp = list(range(0,10))   # 将range对象转化为列表 temp =

temp    # 索引temp里面的第二个元素
>>> 1
temp    # 索引temp里面的第六个元素
>>> 5
这样也可以:
temp = range(0,10)   

temp    # 索引temp里面的第二个元素
>>> 1
temp    # 索引temp里面的第六个元素
>>> 5

Edisoncheng 发表于 2020-6-6 08:41:04

wp231957 发表于 2020-6-6 06:55
这不正常吗
你得看你想干嘛,还有,是不是知道range到底是个啥?

那么为什么range写进循环体里面为什么不用list就可以直接print里面的数出来
比如 for i in range (1,4)
            print (i)
这样就可以呢

Edisoncheng 发表于 2020-6-6 08:43:29

Twilight6 发表于 2020-6-6 08:24
这是肯定的,单纯的 range(x,y) 是返回一个 range(x,y) 对象,range(x,y) 对象里是个整数类型的列表,

...

谢谢您的回答,我是看到如果range写进循环体里面不用list就可以print出里面的数,有点不太清楚这一块
比如 for i in range(2,9):
         print(i)

Edisoncheng 发表于 2020-6-6 08:44:02

永恒的蓝色梦想 发表于 2020-6-6 07:10
难道不应该这么显示?




谢谢您的回答
页: [1]
查看完整版本: 小白求助 range函数在python shell中无法显示