python yield理解
来源:互联网 发布:北师珠网络教学综合 编辑:程序博客网 时间:2024/05/17 22:09
yield 应该是让那个对象在被遍历的时候才动态执行的,例子来源自http://blog.csdn.net/questionfish/article/details/46739207中的一个部分,如下:
需要注意的是,上面的语料库整个作为一个Python List存在了内存中。在这个简单的例子中,这当然无关紧要。但是我们因该清楚,假设我们有一个百万数量级文档的语料库,我们不可能将整个语料库全部存入内存。假设这些文档存在一个硬盘上的文件中,每行一篇文档。Gemsim仅要求一个语料库可以每次返回一个文档向量:
请在这里下载示例文件mycorpus.txt。
这里假设的在一个单独的文件中每个文档占一行不是十分重要;你可以改造 __iter__ 函数来适应你的输入格式,无论你的输入格式是什么样的,例如遍历文件夹、解析XML、访问网络等等。你仅需在每个文档中解析出一个由记号(tokens)组成的干净列表,然后利用dictionary将这些符号转换为其id,最后在__iter__函数中产生一个稀疏向量即可。
现在的语料库是一个对象。我们没有定义任何打印它的方法,所以仅能打印该对象在内存中的地址,对我们没什么帮助。为了查看向量的组成,让我们通过迭代的方式取出语料库中的每个文档向量(一次一个)并打印: 虽然输出与普通的Python List一样,但是现在的语料库对内存更加友好,因为一次最多只有一个向量寄存于内存中。你的语料库现在可以想多大就多大啦!
现在的语料库是一个对象。我们没有定义任何打印它的方法,所以仅能打印该对象在内存中的地址,对我们没什么帮助。为了查看向量的组成,让我们通过迭代的方式取出语料库中的每个文档向量(一次一个)并打印: 虽然输出与普通的Python List一样,但是现在的语料库对内存更加友好,因为一次最多只有一个向量寄存于内存中。你的语料库现在可以想多大就多大啦!
更深刻的理解参考:彻底理解Python中的yield
阅读全文
0 0
- python之yield理解
- Python 深入理解yield
- Python 深入理解yield
- Python 深入理解yield
- Python 深入理解yield
- Python 深入理解yield
- python---深入理解yield
- Python yield 的理解
- python yield 简单理解
- python yield理解
- Python中yield的理解
- 【python】理解迭代器及yield
- 深入理解python中的yield
- python中yield深入理解
- 如何理解Python关键字yield
- Python的yield相关理解
- 彻底理解Python中的yield
- 彻底理解Python中的yield
- React Native Application 项目名 has not been registered.
- Android沉浸式状态栏
- 搜索学习入门--使用LuceneHighlighter高亮显示Lucene检索结果的关键词
- 复制大文件
- My first blog
- python yield理解
- macbook使用ZOC连接Linux云主机
- c/c++在windows下获取时间和计算时间差的几种方法总结
- Android签名二: package.xml packagelist.xml分析
- 酢浆草2017记录
- [Leetcode] 469. Convex Polygon 解题报告
- 数据库设计原则(一)
- My Calendar II问题及解法
- python中re模块基础用法(正则)