range和xrange】的更多相关文章

近期给公司培训Python,好好啃了啃书本,查了查资料,总结一些知识点. ------------------------------------------------------------------------------------ ①:首先引入课后布置给同学们的作业吧,打印99乘法表: Print below multiplication table:  1*1=1 1*2=2   2*2=4 1*3=3   2*3=6   3*3=9 1*4=4   2*4=8   3*4=12 …
上节提出了range和xrange的效率问题,这节我们来探究其中的原因   yield的使用   我们看下面的程序: #coding: utf-8 def test(): print 4 print 2 print 5 if __name__ == '__main__': test() 这段代码的运行结果当然是没有任何疑问的. 但是如果我将代码修改一下: #coding: utf-8 def test(): yield 4 yield 2 yield 5 if __name__ == '__ma…
先来看看range与xrange的用法介绍 help(range)Help on built-in function range in module __builtin__: range(...) range(stop) -> list of integers range(start, stop[, step]) -> list of integers Return a list containing an arithmetic progression of integers. range(i…
range与xrange的用法是完全相同的,不同的是返回结果不同:range返回的是一个list,而xrange返回的是一个生成器.可以来看下 print type(range(5)) print type(xrange(5)) #打印结果:<type 'list'> # <type 'xrange'> 可以看到他们的返回类型是不一样的,一个是list,一个是xrange,也就是说range返回时需要开辟一个内存空间来存储这个list,而xrange是每次调用返回的其中一个值,也就…
两种用法介绍如下:1.range([start], stop[, step])返回等差数列.构建等差数列,起点是start,终点是stop,但不包含stop,公差是step.start和step是可选项,没给出start时,从0开始:没给出step时,默认公差为1.例如: >>> range(10) #起点是0,终点是10,但是不包括10 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(1,10) #起点是1,终点是10,但是不包括10…
[整理内容]具体如下: 先来看如下示例:>>>x=xrange(0,8)>>> print xxrange(8)>>>print x[0]0>>>print x[7]7>>>print x[8]Traceback (most recent call last):File "<stdin>", line 1, in <module>IndexError: xrange obj…
range和xrange的区别 python3里面只有range,返回结果是一个生成器,官方文档是这样描述的 class range(object): """ range(stop) -> range object range(start, stop[, step]) -> range object Return an object that produces a sequence of integers from start (inclusive) to sto…
一.input()和raw_input(): input()支持用户输入数字或表达式,按类型存或存表达式的计算结果 raw_input():输入所有内容当成字符串存 二.lambda函数:匿名函数 lambda只是一个表达式,函数体比def简单的多 lambda的主体是一个表达式,而不是一个代码块. lambda函数拥有自己的名字空间,且不能访问自由参数列表之外全局名字空间里的参数 lambda会返回一个函数对象,但这个对象不会赋值给一个标识符,而def则会把函数对象赋值给一个变量(函数名) i…
一.Python中range()与xrange()有什么区别 range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列 range(6) #[0, 1, 2, 3, 4, 5] range(1,6) #[1, 2, 3, 4, 5] range(1,6,2) #[1, 3, 5] #也就是说range()返回的是个列表 xrange用法与 range 完全相同,所不同的是生成的不是一个list对象,而是一个生成器 xrang…
range 函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个列表. xrange 函数说明:和range 的用法完全相同,但是返回的是一个生成器.在python3中已经由range取代xrange print range(10) #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] print xrange(10) #xrange(10) print range(2,10) #[2, 3, 4, 5,…
range 函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列. range示例: >>> range(5) , 1, 2, 3, 4] >>> range(1,5) , 2, 3, 4] >>> range(1,5,2) #代表从1到5,间隔2(不包含5) [1, 3] xrange     函数说明:用法与range完全相同,所不同的是生成的不是一个数组,而是一…
range和xrange用法相同,不同的是xrange不是生成一个序列,而是作为一个生成器,即生成一个取出一个 相对来说,xrange比range性能优化很多,因为不需要一下子开辟一块很大的内存,特别是数据量比较大的时候 注意: xrange和range这两个基本是使用在循环的时候 当需要输出一个列表的时候,就必须要使用range了…
by Harrison Feng in Python 无论是range()还是xrange()都是Python里的内置函数.这个两个内置函数最常用在for循环中.例如: >>> for i in range(5): ... print i ... 0 1 2 3 4 >>> for i in xrange(5): ... print i ... 0 1 2 3 4 >>> range()和xrange() 在Python 2里是两种不同的实现.但是在P…
#/usr/bin/python #coding=utf-8 #@Time :2017/10/25 19:22 #@Auther :liuzhenchuan #@File :range与xrange的区别.py 示例1:range()打开时占用内存#range生成一个list ,xrange是一个生成器 #range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列 print range(5) print range(1,5)…
range 函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列. range示例: >>> range(6) [0, 1, 2, 3, 4, 5] >>> range(0,6,2) [0, 2, 4] xrange 函数说明:语法上和range完全相同,所不同的是生成的不是一个数组,而是一个生成器.xrange示例: >>> xrange(6) xrange(6)…
1.编码转换 unicode 可以编译成 UTF-U GBK 即 #!/usr/bin/env python # -*- coding:utf-8 -*- a = '测试字符' #默认是utf-8 a_unicode = a.decode('utf-8') # decode是解码成unicode 括号是脚本内容的默认编码 即:将脚本内容的utf-8解码成unicode a_gbk = a_unicode.encode('gbk') #encode是编码,将unicode的编码内容编码成指定的,这…
前言 range()是Python的内置函数,用于创建整数的列表,可以生成递增或者递减的数列. xrange也有相同的功能, 今天来看下它们之间的不同. range 函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列 start/stop指定的范围,如果start不填则默认从0开始计算 stop为结束的循环数 step为设定的步长 总结:1.range和xrange都是在循环中使用,输出结果一样.2.rang…
range(): range([start,] stop[, step]) 如: range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] range()默认起始点为0 且range()返回的是一个list xrange()返回的是一个生成器,需要list()将其转换 但其性能比range()好,因为不用一开始就开辟一块内存,在生成很大的数字序列的时候尤为明显. 注:在python3中,xrange() 改名为range(),要想使用range()获得一个list,必须显…
版本:Python2.7 1.先看帮助说明 (1)range()返回一个递增或递减的数字列表,列表的元素由三个参数决定       start 表示列表开始的值,默认为0       stop 表示列表结束的值,该参数不可缺少       step 表示步长,默认值为1 (2)xrange是一个类,返回的是一个xrange对象 (3)使用xrange()进行遍历,每次遍历只返回一个值.range()返回的是一个列表一次性计算并返回所有的值.一次xrange()的执行效率要高于range()…
Help on built-in function range in module __builtin__: range(...) range(stop) -> list of integers range(start, stop[, step]) -> list of integers Return a list containing an arithmetic progression of integers. range(i, j) returns [i, i+1, i+2, ..., j…
一.python2.7 range 用户获取指定范围内的数,range([start,] stop[, step]) >>> range(1,5) #代表从1到5(不包含5) [1, 2, 3, 4] >>> range(1,5,2) #代表从1到5,间隔2(不包含5) [1, 3] >>> range(5) #代表从0到5(不包含5) [0, 1, 2, 3, 4] a = range (0,5) print(type(a)) OUTPUT: <…
转自:http://www.cnblogs.com/zhangjing0502/archive/2012/05/16/2503880.html range    函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列.range示例: >>> range(5) [0, 1, 2, 3, 4] >>> range(1,5) [1, 2, 3, 4] >>> range(0…
使用xrange   当我们获取某个数量的循环时,我们惯用的手法是for循环和range函数,例如: for i in range(10): print i 这里range(10)生成了一个长度为10的列表,内容为从0到9,所以这里的for循环实际上是在遍历其中的元素. 如果循环次数过大的时候,range要生成一个巨大的列表,这将导致程序的性能降低. 解决方案是采用xrange,用法基本与range相同: for i in xrange(10): print i 但是二者的性能差距到底有多大?…
我目前使用的版本是2.7.6 >>> help (range)Help on built-in function range in module __builtin__: range(...) range(stop) -> list of integers range(start, stop[, step]) -> list of integers Return a list containing an arithmetic progression of integers.…
1.range生成一个列表:xrange生成一个生成器 2.用法都差不多  …
1 结论: 全用xrange,除非你需要使用返回的列表 2 实验一:性能对比 实验环境:win7 ,64位系统 python2.7 import time StartTime=time.time() count =0 for i in range (100000000): # 这里的8个零 内存变动峰值2555,000kb ,耗时 129s count=count+1 EndTime=time.time() print "cost time is:",(EndTime-StartTim…
range 函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列.range示例: >>> range(5) [0, 1, 2, 3, 4] >>> range(1,5) [1, 2, 3, 4] >>> range(0,6,2) [0, 2, 4] xrange    函数说明:用法与range完全相同,所不同的是生成的不是一个数组,而是一个生成器.xrange示例…
range range 是一种类型(type),它是一个数字的序列,而且是不可变的,通常用在for循环中. class range(stop)class range(start, stop [, step])第一种构造方式,start默认值为0,step默认值为1. 当step为正时,一个range的元素值为r[i] = start + i * step  且 r[i] < stop: step为负时,r[i] > stop. print range(10,20,2) print range(…
在python2.7中range()某个区间后,内存会立即创建区间内的所有数值,严重浪费内存,所以就出现了xrange():每次循环的时候生成一个数值 在python3版本中不存在xrange,只有range他的作用等同与2.7版本的xrange,可以说是做了优化 1 for a in range(1,10): 2 print(a) 输出结果: 1 2 3 4 5 6 7 8 9 可以看到列出了数字1-9,因为range的取值方式range(1,10)是从头取值取到末尾的前一位截止,所以取值1-…
range    函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列.range示例: >>> range() [, , , , ] >>> range(,) [, , , ] >>> range(,,) [, , ] xrange    函数说明:用法与range完全相同,所不同的是生成的不是一个数组,而是一个生成器.xrange示例: >>>…