生成器和迭代器
迭代器
列表生成式:
生成1,4,9.......,10000,一句话去除7的倍数
print([x*x for x in range(1,101) if x * x != 0] )
本质:将for循环写在一行,将结果写在最前面,用 [] 括起来
可迭代对象:能作用于for循环的对象,统称可迭代对象
1.list,tuple,dict,set等集合元素
2.生成器
生成器
就是一个能返回迭代器的函数,其实是定义一个迭代算法,是一个特殊的迭代器
在python中可以一边循环一边计算这种机制,称为生成器
g1=(x for x in range())
迭代器
不但能作用于for循环,还能调用next函数,不断返回下一个值,直到出现stopIterator错误,表示无法返回下一个值, 本质是内部复写next,iter 函数;
可用isinstance()函数判断一个对象是否为iteration对象.
iteration转换
iter(iteration) 将可迭代对象转为迭代器
作者: Deaseyy
出处: http://www.cnblogs.com/Deaseyy/
新手一枚,请大佬们多多赐教!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接