标签:生成器 循环调用 迭代器 就是 log int 迭代 generator 函数
1、生成式
1 #列表生成式 2 #一次性生成所有数据,然后保存在内存中,适合小量数据 3 a=[x*x for x in xrange(1,101) if x%2==0] 4 # 执行的操作 for 循环 if条件 5 print(a) 6 #列表生成式 7 #一次性生成所有数据,然后保存在内存中,适合小量数据 8 a=[x*x for x in xrange(1,101) if x%2==0] 9 # 执行的操作 for 循环 if条件 10 print(a)
2、生成器
1 #列表生成器 2 #返回一个可迭代对象,及‘generator’对象,,必须通过循环才可以一一取出所有结果 3 #可迭代对象:可通过循环调用出来的就是可迭代对象,[],(),{},,生成式,生成器 4 #迭代器,可简单理解为生成器,通过next()函数调用调用并不断返回下一个值的对象称为迭代器 5 6 #1、最简单的方法:把原来生成时的[]换成() 7 a=(x*x for x in xrange(1,101) if x%2==0) 8 print(a) 9 print(type(a)) 10 print(a.next()) 11 print(a.next()) 12 print(a.next()) 13 print(a.next()) 14 #2、函数定义列表生成器 15 #当一个函数中有关键字yield,,,所生成的是一个生成器 16 #生成器不会一次列出所有数据,只有当你使用时会列出来,提升内存的使用率 17 def a(n): 18 sum=0 19 i=0 20 while(i<n): 21 sum+=i 22 i+=1 23 yield (sum) 24 print(type(a(10))) 25 for x in a(10): 26 print(x) 27 #列表生成器 28 #返回一个可迭代对象,及‘generator’对象,,必须通过循环才可以一一取出所有结果 29 #可迭代对象:可通过循环调用出来的就是可迭代对象,[],(),{},,生成式,生成器 30 #迭代器,可简单理解为生成器,通过next()函数调用调用并不断返回下一个值的对象称为迭代器 31 32 #1、最简单的方法:把原来生成时的[]换成() 33 a=(x*x for x in xrange(1,101) if x%2==0) 34 print(a) 35 print(type(a)) 36 print(a.next()) 37 print(a.next()) 38 print(a.next()) 39 print(a.next()) 40 #2、函数定义列表生成器 41 #当一个函数中有关键字yield,,,所生成的是一个生成器 42 #生成器不会一次列出所有数据,只有当你使用时会列出来,提升内存的使用率 43 def a(n): 44 sum=0 45 i=0 46 while(i<n): 47 sum+=i 48 i+=1 49 yield (sum) 50 print(type(a(10))) 51 for x in a(10): 52 print(x)
3、练习
1 #99乘法表 2 for i in range(1,10): 3 for j in range(1,i+1): 4 print(‘{0}*{1}={2}\t‘.format(j,i,i*j)), 5 print(‘\n‘)#99乘法表 6 for i in range(1,10): 7 for j in range(1,i+1): 8 print(‘{0}*{1}={2}\t‘.format(j,i,i*j)), 9 print(‘\n‘)
标签:生成器 循环调用 迭代器 就是 log int 迭代 generator 函数
原文地址:http://www.cnblogs.com/huzhendong/p/7791696.html