python迭代器实例简析
本文实例讲述了python迭代器的简单用法,分享给大家供大家参考。具体分析如下:
生成器表达式是用来生成函数调用时序列参数的一种迭代器写法
生成器对象可以遍历或转化为列表(或元组等数据结构),但不能切片(slicing)。当函数的唯一的实参是可迭代序列时,便可以去掉生成器表达式两端>的圆括号,写出更优雅的代码:
>>>>sum(iforiinxrange(10)) 45
sum声明:
sum(iterable[,start])
Sumsstartandtheitemsofaniterablefromlefttorightandreturnsthetotal.startdefaultsto0.Theiterable‘sitemsarenormallynumbers,andarenotallowedtobestrings.Thefast,correctwaytoconcatenateasequenceofstringsisbycalling''.join(sequence).Notethatsum(range(n),m)isequivalenttoreduce(operator.add,range(n),m)Toaddfloatingpointvalueswithextendedprecision,seemath.fsum().
参数要求传入可迭代序列,我们传入一个生成器对象,完美实现。
注意区分下面代码:
上面的j为生成器类型,下面的j为list类型:
j=(iforiinrange(10)) printj,type(j) print'*'*70 j=[iforiinrange(10)] printj,type(j)
结果:
<generatorobject<genexpr>at0x01CB1A30><type'generator'> ********************************************************************** [0,1,2,3,4,5,6,7,8,9]<type'list'>
希望本文所述对大家Python程序设计的学习有所帮助。