生成器和迭代器

迭代器

列表生成式:

[结果 for x in range() 语句]

生成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/

新手一枚,请大佬们多多赐教!

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接

原文地址:https://www.cnblogs.com/Deaseyy/p/10859679.html