标签:
let_dict = {let:word.count(let) for let in set(word)}
{expression for expression in iterable}
t_generotor = (x for x in range(1,8))
创建一个比较大序列,使用生成器推导式的代码会很长,可以写一个生成器函数。生成器函数和普通函数类似,但是它的返回值使用yield语句声明而不是return。
def my_range(first=0, last=10, step=1): <ul><li>number = first</li> <li>while number < last:</li> <li>yield number</li> <li>number+=step
my_range 返回的是一个生成器对象,可以使用这个生成器对象进行迭代: for x in my_range():print x
days= {‘monday‘ , ‘tuesday‘, ‘wednesday‘}</li> <li>fruit= {‘banana‘, ‘orange‘, ‘peach‘}</li> <li>dessert = {‘misc‘, ‘drink‘, ‘ice‘, ‘pudding‘}</li> <li>for day,fru,drink in zip(days,fruit,dessert):</li> <li>print day,fru,drink
dict(zip(list_1,list_2))
__iter__
的方法返回一个迭代器(iterator),所谓的迭代器就是具有next方法(这个方法在调用时不需要传递任何参数)。在调用next方法时,迭代器会返回它的下一个值。如果next方法被调用,但迭代器没有值可以返回,就会引发一个stopIteration异常。[3.0中是__next__
]__iter__
方法的对象是可迭代的,一个实现了next方法的对象则是迭代器标签:
原文地址:http://www.cnblogs.com/starsea/p/5285510.html