相信很多人对xrange和yield都不是很清楚,网上很多文章也是写的云里雾里的,今天我用最简单的例子给大家说下。 说起xrange的时候就一定要提range,其实xrange 用法与 range 完全相同,所不同的是生成的不是一个list对象,而是一个生成器。 由上面的示例可以知道:要生成很大的数 ...
分类:
编程语言 时间:
2016-06-08 15:37:53
阅读次数:
181
python 的 yield 关键字很多人可能不是很熟悉,最早知道这个关键字是看 xrange 的文档,其中提到了 yield。后来开始用 tornado,对 tornado 的异步模式比较感兴趣,也翻了一下 tornado 的源码,很多东西仍然是一知半解。 最近翻了翻 python 的源码,看了一 ...
分类:
编程语言 时间:
2016-05-25 18:25:07
阅读次数:
207
一、内置list方法 a = 'asdsf' list(a) 返回一个列表, 参数是可选迭代对象。 里面输出的内容还是保持了传入可迭代对象的元素和顺序. 如果参数为空,则返回一个空的列表. 二、xrange和range的区别 2.1 迭代的意思:重复很多次做一些事情。 在Python中实现了__it ...
分类:
编程语言 时间:
2016-05-24 01:37:02
阅读次数:
195
一.序列 python包含六种内建的序列:列表、元组、字符串、unicode字符串、buffer对象、xrange对象。 列表可以修改,元组是不能修改的。 二.列表 列表list是变长序列,其中的内容也是可以修改的。序列通过方括号[]或者list函数进行定义,而且序列中还可以嵌套包含序列。 >>> ...
分类:
编程语言 时间:
2016-05-23 17:20:41
阅读次数:
214
以上是range函数的说明,三个参数,分别代表开始,结束位置和步长。 使用方法如下: 而xrange()说明如下: 说明了两者的区别是xrange返回的是一个可迭代的对象,range返回的则是一个列表. 同时效率更高,更快。 原因是实现的时候使用了yield(唔,源码没看见,具体对比可以看一下htt ...
分类:
编程语言 时间:
2016-05-18 00:13:13
阅读次数:
240
# 迭代器、装饰器、生成器 # 迭代器 li = [1, 3, 'he', '&'] n = iter(li) print(n.__next__()) import os, sys # 生成器 def func(): for i in xrange(10): yield (i) print(i) 1 ...
分类:
编程语言 时间:
2016-05-04 01:18:13
阅读次数:
260
1、序列是Python中最基本的数据结构。序列中的每个元素被分配一个序列号——元素的位置,也称索引,第1个索引是0,第2为1,以此类推。序列中的最后1个元素为-1,倒数第2个位-2。 python中有6中内建的序列:列表、元组、字符串、Unicode字符串、buffer对象和xrange对象。 2、 ...
分类:
编程语言 时间:
2016-04-18 18:58:43
阅读次数:
239
1range和xrange的区别答:range是直接生成一个列表,而xrange是生成一个对象,只要在用的时候在调用,xrange可以在大的列表中开辟的内存块下!
In[8]:range(1,10)
Out[8]:[1,2,3,4,5,6,7,8,9]
In[9]:a=xrange(1,10)
In[10]:type(a)
Out[10]:xrange
In[11]:a[0]
Out[11]:1
分类:
编程语言 时间:
2016-04-17 18:04:24
阅读次数:
259
1、 6种内建序列 列表 元组 字符串 Unicode字符串 buffer对象 xrange对象 2、 通用序列操作 索引:序列的所有元素都是有编号的,从0开始递增 >>>greeting = "hello" >>>greeting[0] 'h' >>>greeting[-1] 'o' >>>gre
分类:
编程语言 时间:
2016-03-02 18:12:53
阅读次数:
249
1. range xrange 的差别 1.1 range 返回列表对象. 1.2 xrange 返回xrange对象 不需要返回列表里面的值, 节省内存. >>> range(1,10) [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> xrange(1,10) xrange(1,
分类:
编程语言 时间:
2016-02-12 20:56:54
阅读次数:
216