生成器(generator) 2种构造方式 可以g.__next__() 或next(g),或for循环 g.send()传进去的参数,会被temp = yield i 前的temp接受,每次运行到temp = yield i,都会给temp传send()的值,若无,则temp被赋值None 迭代器 ...
分类:
其他好文 时间:
2018-11-05 20:04:19
阅读次数:
146
Lesson 023 —— python 迭代器与生成器 迭代器 迭代是Python最强大的功能之一,是访问集合元素的一种方式。 迭代器是一个可以记住遍历的位置的对象。 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。 迭代器有两个基本的方法: iter() ...
分类:
编程语言 时间:
2018-11-04 22:58:19
阅读次数:
194
迭代器与生成器 迭代器 可迭代对象 字符串、列表、元组、字典、集合 都可以被for循环,说明他们 都是可迭代对象 。 迭代器 迭代器是一个可以记住遍历的位置的对象。 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。 字符串,列表或元组对象都可用于创建迭代器, ...
分类:
其他好文 时间:
2018-11-04 19:19:41
阅读次数:
125
面试题1 主要考察知识点:生成器从头到尾只能取一次值 *list数据类型强转也可以读取生成器的值,g1被list读取完后g2已经读取不到了 面试题2 当for循环套上生成器表达式时就拆开,一定要注意生成器不调用时就不执行的特点(惰性) ...
分类:
编程语言 时间:
2018-11-03 00:02:42
阅读次数:
341
迭代器iter():节省内存 Iter()迭代器 每一次输出下一个值 >>> a=iter(range(10)) >>> a.next() 0 >>> a.next() 1 >>> a.next() 2 可以用捕获异常来排除超出迭代范围,或者判断长度 >>> try: ... 1/0 ... exc ...
分类:
编程语言 时间:
2018-10-04 15:21:32
阅读次数:
222
迭代器是一个更抽象的概念,任何对象,如果它的类有 next 方法和 iter 方法返回自己本身,对于 string、list、dict、tuple 等这类容器对象,使用 for 循环遍历是很方便的。在后台 for 语句对容器对象调用 iter()函数,iter()是 python 的内置函数。ite ...
分类:
其他好文 时间:
2018-10-04 09:05:49
阅读次数:
176
迭代器 迭代器的概念 为什么要有迭代器?什么是可迭代对象?什么是迭代器对象? 迭代器对象的使用 使用for循环循环迭代器对象 迭代器的优缺点 生成器 生成器概念 生成器是特殊的迭代器 相比于迭代器,生成器的好处在于它不会一次性生成所有被循环的元素,而是取一次而生成一个元素,这样可以减少对内存和cup ...
分类:
其他好文 时间:
2018-10-03 00:37:55
阅读次数:
126
迭代器 什么是迭代器 迭代指的是一个重复的过程,且不是单纯的重复,每次重复都基于上次的结果。 迭代器指的是迭代取值的工具,该工具的特点是可以不依赖于索引取值。 为什么用迭代器 为了找出一种通用的&可以不依赖于索引的迭代取值方式。 如何用迭代器 可迭代的对象:但凡内置有__iter__方法得当对象都称 ...
分类:
其他好文 时间:
2018-09-28 21:21:21
阅读次数:
188
迭代器和生成器 迭代器 iterator 可以直接作用于for循环的 称为可迭代对象(iterable)可以通过 isinstance 判断是否属于可迭代对象 可以直接作用于for循环的数据类型为: 列表,字典,集合,元组,字符串... generator 带yield的函数 实例 判断哪些是可迭代 ...
分类:
编程语言 时间:
2018-09-27 22:00:55
阅读次数:
135
# 迭代器和生成器 # 迭代器: # 双下方法 : 很少直接调用的方法。一般情况下,是通过其他语法触发的 # 可迭代的 —— 可迭代协议 含有__iter__的方法('__iter__' in dir(数据)) # 可迭代的一定可以被for循环 # 迭代器协议: 含有__iter__和__next_... ...
分类:
其他好文 时间:
2018-09-24 11:24:36
阅读次数:
129