Python-列表生产式、生成器、迭代器、可迭代对象

列表生成式:
本质就是将for循环强制性写在一行,把结果写在for循环的最前面,然后使用[]括起来,
得到的就是一个由结果集组成的一个列表。例:
list3 = [ x*x for x in range(1,101) if x%3]

生成器: 一边循环一边计算的这种机制我们称之为生成器【可以不断推算出下一个元素】
注意:生成器只能迭代一遍
生成器优点:节省内存空间

创建生成器:
g1 = (result for x in range(m,n))

可迭代对象:
能直接作用于for循环的对象我们统称为可迭代对象。
常见的可迭代对象:
list、set,dict,tuple,str,range

迭代器:
不但能够作用于for循环,还可以被next函数调用,不断返回下一个值,这样的对象我们就称之为迭代器
常见迭代对象的只有生成器是迭代器,其他类型的都不是。
可以通过iter()函数将可迭代对象转为迭代器:  iter1 = iter([1,2,3])

from collections import Iterable

isinstance(object,type)
判断某个对象是否属于某种类型,例:
print(isinstance([],Iterable))
print(isinstance("",Iterable))

猜你喜欢

转载自blog.csdn.net/lonely2018/article/details/91611023