博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python中的Iterable, Iterator,生成器概念
阅读量:6583 次
发布时间:2019-06-24

本文共 1340 字,大约阅读时间需要 4 分钟。

https://nychent.github.io/articles/2016-05/about-generator.cn

这个深刻

谈起Generator, 与之相关的的有 - {list, set, tuple, dict} comprehension and container - iterable - iterator - generator fuction and iterator - generator expression

#!/usr/bin/env python# -*- coding: utf-8 -*-# Spawn a Process: Chapter 3: Process Based Parallelismimport multiprocessingimport timefrom collections import Iterable, Iteratorimport disfrom itertools import islicex = [1, 2, 3]for i in x:    print iy = iter(x)z = iter(x)print dir(x)print dir(y)print next(y)print next(y)print next(z)print next(z)print type(x)print isinstance(x, Iterable)print isinstance(x, Iterator)print type(y)print isinstance(y, Iterable)print isinstance(y, Iterator)class seq(object):    def __init__(self):        self.gap = 2        self.curr = 1    def __iter__(self):        return self    def next(self):        value = self.curr        self.curr += self.gap        return valuef = seq()print list(islice(f, 0, 10))def seq():    gap, curr = 2, 1    while True:        yield curr        curr += gapf = seq()print list(islice(f, 0, 10))def fib():    a, b = 0, 1    while True:        yield b        a, b = b, a + bprint fibf = fib()print fprint(next(f), next(f), next(f), next(f), next(f))def gen():    while True:        value = yield        print(value)g = gen()next(g)g.send("hahahha")next(g)

 

转载地址:http://xnxno.baihongyu.com/

你可能感兴趣的文章
Java知识点总结(反射-反射操作泛型)
查看>>
Vue+webpack+Element 兼容问题总结
查看>>
《软技能》读书笔记(下)
查看>>
textarea文域高度自适应
查看>>
go语言renderer包代码分析
查看>>
【Scala谜题】成员声明的位置
查看>>
git最最最最...常用命令
查看>>
复杂recyclerView封装库
查看>>
见微知著 —— Redis 字符串内部结构源码分析
查看>>
Command './js-ant' failed to execute
查看>>
阿里云NFS NAS数据保护实战
查看>>
Spring cloud配置客户端
查看>>
产品研发项目管理软件哪个好?
查看>>
【阿里云北京峰会】一图看懂机器学习PAI如何帮助企业应用智能化升级
查看>>
Android API中文文档(111) —— MailTo
查看>>
Linux 中如何卸载已安装的软件
查看>>
thinkphp 3.2 增加每页显示条数
查看>>
oracle日常简单数据备份与还原
查看>>
我的友情链接
查看>>
黑马程序员__反射总结
查看>>