Python 中range表示的是次数还是数值?为什么直接打印就是范围内的数字,用在for循环里就成循环几次了?
作者&投稿:战饶 (若有异议请与网页底部的电邮联系)
print("类型:",type(range(1,5)))print(range.mro())看结果:
这里的range()函数所返回的对象在python3中并不是list类型的,也不继承list类型。
python3中的range()等于python2中的xrange(),它其实是一个生成器,每次取值后生成下一个值,目的是节约内存和运算资源。
如果想得到list,则需强制转换。
print(list(range(1,5)))
range(0,100,1) 是生成一个0-99的序列,也就是循环了100次。打印的是100个*
range是生成一个数组。在循环的时候 是用对应的变量循环得到对应的值
因为你第一段是print(word) 是打印的同一个word变量
如果你在print(word, i) 这样你就能直观的看到了
我也遇到这个问题里,看了其他的回答,我的理解是range(3)里面的3不代表3次循环,而是range(3)是(0,1,2)三个数字的区间,每个数字进入循环一次,每次输出的不是变量i而是word="hallo",三个数字循环三次,不知道我的理解对不对。
高宏迪汀: Python2.X range()函数可创建一个整数列表,一般用在for循环中. Python3 range()函数返回的是一个可迭代对象,类型是对象,而不是列表类型,所以打印的时候不会打印列表. Python3 list()函数是对象迭代器,可以把range()返回...
阳原县18336404205: python中xrange和range的区别用法 - ?
高宏迪汀: 在python中 range 函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个列表. 例子: xrange 函数说明:xrange 用法与 range 完全相同,所不同的是生成的不是一个list对象,而是一个生成器. 例子...
阳原县18336404205: python range() 函数返回的是? - ?
高宏迪汀: 返回的是一个可迭代对象,不是返回列表. 比如说list(range(1,10)) list是一个迭代器接受range返回的可迭代对象生成一个列表
阳原县18336404205: 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)) # []
阳原县18336404205: python 中的range返回的是什么列表 - ?
高宏迪汀: # python # range(stop) 函数解析 # range(start, stop[, step])# 参数说明如下: # 首先参数必须都是整数 # start :如果没有设置该参数,默认值为0. # stop : # step :如果没有设置该参数,默认值为1.step 一定不能为0.# 返回一个纯数字列表list...
阳原县18336404205: python2和 python3关于range的区别 - ?
高宏迪汀: python2.x 中,range返回的是一个列表python3.x中,range返回的个迭代值类似for n in range(1,10):之类的可以照常使用如果要在3.x中产生1-10的列表,可以list(range(1,10))~
阳原县18336404205: python中xrange和range的异同 CiNiao's blog - ?
高宏迪汀: range返回的是一个包含所有元素的列表,xrange返回的是一个生成器,生成器是一个可迭代对象,在对生成器进行迭代时,元素是逐个被创建的.一般来看,在对大序列进行迭代的时候,因为xrange的特性,所以它会比较节约内存. 我们来仔...
阳原县18336404205: python中的range怎么用 - ?
高宏迪汀: Python 的 for i in range (m,n),相当于 C++/Java/C# 里面的 for (int i = m; i 比如:
阳原县18336404205: 请问python 中(1,10) (1,10,3)有什么区别 - ?
高宏迪汀: 你是说的 range(1,10),range(1,10,3)把 range(1,10) 是1到9 的数字序列 range(1,10,3)是1到9间隔3的数字下来,比如1、4、7
阳原县18336404205: python中range的问题 - ?
高宏迪汀: 函数原型:range(start, end, scan): 参数含义:start:计数从start开始.默认是从0开始.例如range(5)等价于range(0, 5); end:技术到end结束,但不包括end.例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5 scan:每次跳跃的间距,默认为1.例如:range...