摘要: 什么是生成器? 生成器是一个包含了特殊关键字yield的函数。当被调用的时候,生成器函数返回一个生成器。可以使用send,throw,close方法让生成器和外界交互。生成器也是迭代器,但是它不仅仅是迭代器,拥有next方法并且行为和迭代器完全相同。所以生成器也可以用于python的循环中,如何使用?首先看一个例子: 1 #!/usr/bin/python 2 # -*- coding: utf-8 -*- 3 4 def flatten(nested): 5 for sublist in nested: 6 for element in sublist: 7 ... 阅读全文
posted @ 2013-10-11 18:20 yupeng 阅读(1314) 评论(0) 推荐(1) 编辑
摘要: 什么是迭代器? 迭代器是带有next方法的简单对象,当然也要实现__iter__函数。迭代器能在一序列的值上进行迭代,当没有可供迭代时,next方法就会引发StopIteration 的异常。python中有很多的对象都是迭代器,例如:列表,元素,字符串,文件,映射,集合如何使用迭代器?1. for 变量 in 可迭代对象例如:list1 = [1,2,3,4,5]for ele in list1: print ele,结果为:1 2 3 4 52. if 变量 in 可迭代对象例如:list1 = [1,2,3,4,5]var = 1if var in list1: print... 阅读全文
posted @ 2013-10-11 16:56 yupeng 阅读(543) 评论(1) 推荐(1) 编辑