python 的range()函数怎么使用,为什么单独运行print(range(1,5))输出还是range(1,5),而不是[1,2,3,4]

作者&投稿:祗毕 (若有异议请与网页底部的电邮联系)
pycharm,Python版本3.5中,输入range(5),为何输出还是range(0,5)?~

range方法返回的是可迭代对象,但不是list对象,所以不能以list方式输出
正确方法是将它转换为list :list(range(5))
这样它就变成list对象了
print(list(range(5))) 输出结果为:[0,1,2,3,4]

如果你这样编
for i in range(1,5)
print(i)
else :
print('the for loop is over')
它输出的就是[1,2,3,4]了
可能2.0版本和3.0版本不大一样
还有就是建议你去看看《byte of python》这本书

print("类型:",type(range(1,5)))
print(range.mro())

看结果:

这里的range()函数所返回的对象在python3中并不是list类型的,也不继承list类型。

python3中的range()等于python2中的xrange(),它其实是一个生成器,每次取值后生成下一个值,目的是节约内存和运算资源。

如果想得到list,则需强制转换。

print(list(range(1,5)))



因为range()函数返回的是生成器对象

生成器对象直接打印出不来内容,只会返回对象信息

想要看生成器具体会产生什么,两个方法:

for循环遍历生成器,或者用list,tuple转换

对所有生成器都适用。

>>> a = range(5)
>>> a
range(0, 5)
>>> isinstance(a, range)
True
>>> for i in a:
...     print(i)
...
0
1
2
3
4
>>> a
range(0, 5)
>>> list(a)
[0, 1, 2, 3, 4]
>>> tuple(a)
(0, 1, 2, 3, 4)



郑州市17098977721: python range函数什么意思 -
季乐凯帝: Python2.X range()函数可创建一个整数列表,一般用在for循环中. Python3 range()函数返回的是一个可迭代对象,类型是对象,而不是列表类型,所以打印的时候不会打印列表. Python3 list()函数是对象迭代器,可以把range()返回...

郑州市17098977721: python中range函数 -
季乐凯帝: 你是python3吧. 在python2中,range函数直接返回列表,range(15,5,1)运行出来就是空列表. 在python3中,range函数返回迭代器,range(15,5,1)返回的是一个空列表的迭代器. 如下: python2a = range(15, 5, 1) print(type(a)) # <type 'list'> print(a) # []python3 a = range(15, 5, 1) print(type(a)) # <class 'range'> print(a) # range(15, 5) print(list(a)) # []

郑州市17098977721: range函数怎么用python -
季乐凯帝: range(start, stop[, step]) 参数必须是整数 第三个参数step可选 默认是1 如果省略第一个参数 默认是01 2 3 4 5 6 7 8 9 10 11 12 13 14>>> list(range(10)) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> list(range(1, 11)) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> list(range(0, 30,...

郑州市17098977721: python range() 函数返回的是? -
季乐凯帝: 返回的是一个可迭代对象,不是返回列表. 比如说list(range(1,10)) list是一个迭代器接受range返回的可迭代对象生成一个列表

郑州市17098977721: python中的range怎么用 -
季乐凯帝: Python 的 for i in range (m,n),相当于 C++/Java/C# 里面的 for (int i = m; i 比如:

郑州市17098977721: python 中的range返回的是什么列表 -
季乐凯帝: # python # range(stop) 函数解析 # range(start, stop[, step])# 参数说明如下: # 首先参数必须都是整数 # start :如果没有设置该参数,默认值为0. # stop : # step :如果没有设置该参数,默认值为1.step 一定不能为0.# 返回一个纯数字列表list...

郑州市17098977721: Python中Range和XRange的区别 -
季乐凯帝: 在python中 range 函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个列表. 例子: xrange 函数说明:xrange 用法与 range 完全相同,所不同的是生成的不是一个list对象,而是一个生成器. 例子...

郑州市17098977721: python3 range函数的步长是怎么运算的 -
季乐凯帝: 比如range(1, 10, 2) 生成器列表是[1, 3, 5, 7, 9] 第三个参数就是步长,默认为1,可以看做是跳过(步长-1)个输出一次.如果是负数,则是反向减去,比如range(10, 1, -2),输出[10, 8, 6, 4, 2]

郑州市17098977721: python中的for i in range怎么用 -
季乐凯帝: for i in range(a,b,c) a为循环开始的数字(可不填,默认为0),b为循环结束的后一位(c为正数时)的数字,c为步进的距离和方向,默认为1. for i in range(1, 101,1): print i range(1, 101)表示从1开始,到101为止(不包括101),取其中所有的整...

郑州市17098977721: Python的 range()函数问题 -
季乐凯帝: for i in range(5)://range函数输入一个参数时,默认从0开始,步长为1,共5个数. 相当于 for i in [0,1,2,3,4]:

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网