标签:item str 集合 没有 判断 执行 ext pass 返回
列表生成式 List Comprehensions
[要生成的元素x for循环x if判断]
[要生成的元素x,y for循环x for循环y]
[key+‘=‘+‘value‘ for key,value in dict.items() ]
isinstance(x,type); 判断变量类型
pass语句来占位 并没有什么卵用
生成器generator 一边循环一边计算的机制 generator保存的是算法
L = [x for x in range(0,11) if x%2 == 0]
将列表生成式的"[]"改为"()"即为生成器
L = (x for x in range(0,11) if x%2 ==0 );
generator查看数据需要使用next(x);每执行一次 就可以得到一个数据 或使用for迭代
如果一个函数定义中包含yield关键字,那么这个函数就不再是一个普通函数,而是一个generator。
函数和generator函数不同
函数是顺序执行 到最后一行或遇return就返回
generator函数在每次调用next()时执行 遇到yield语句返回 再次执行时从上次返回的yield语句处执行
迭代器Iterator 可以被next()函数调用并不断返回下一个值的对象称为迭代器
iter()函数可使list,dict,str等变成Iterator对象
凡是可作用于for循环的对象都是Iterable类型;
凡是可作用于next()函数的对象都是Iterator类型,它们表示一个惰性计算的序列;
集合数据类型如list、dict、str等是Iterable但不是Iterator,不过可以通过iter()函数获得一个Iterator对象。
标签:item str 集合 没有 判断 执行 ext pass 返回
原文地址:http://www.cnblogs.com/lxai/p/7296584.html