Python经典面试题:说说Python中xrange和range的区别?
昨晚一小伙后台问xrange和range有啥区别,讲了下他倒领悟的挺快,其实这也是你各面试Python岗位,经常会遇到的Python面试题,长个心眼哈,说不定明年3月你找工作就用上了。
废话不多说,开始今天的Python面试题目:
问:说说Python中xrange和range的区别?
答:range()和xrange()都是在循环中使用,输出结果一样。
range()返回的是一个list对象,而xrange返回的是一个生成器对象(xrange object)。
xrange()则不会直接生成一个list,而是每次调用返回其中的一个值,内存空间使用极少。因而性能非常好,所以尽量用xrange吧。
在python3 中没有xrange,只有range。range和python2 中的xrange()一样。
下面分别来说说这两者的用法:
range()
range 函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列。
起点是start,终点是stop,但不包含stop,公差是step。start和step是可选项,没给出start时,从0开始;没给出step时,默认公差为1。
range示例:
>>> range(10) #起点是0,终点是10,但是不包括10[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>>> range(1,10) #起点是1,终点是10,但是不包括10[1, 2, 3, 4, 5, 6, 7, 8, 9]>>> range(1,10,2) #起点是1,终点是10,步长为2[1, 3, 5, 7, 9]>>> range(0,-10,-1) #起点是1,终点是10,步长为-1[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]>>> range(0,-10,1) #起点是0,终点是-10,终点为负数时,步长只能为负数,否则返回空[]>>> range(0) #起点是0,返回空列表[]>>> range(1,0) #起点大于终点,返回空列表[]
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
Python经典面试题:说说Python中xrange和range的区别?
下载Word文档到电脑,方便收藏和打印~