python迭代器实例简析,python实例简析
python迭代器实例简析,python实例简析
本文实例讲述了python迭代器的简单用法,分享给大家供大家参考。具体分析如下:
生成器表达式是用来生成函数调用时序列参数的一种迭代器写法
生成器对象可以遍历或转化为列表(或元组等数据结构),但不能切片(slicing)。当函数的唯一的实参是可迭代序列时,便可以去掉生成器表达式两端>的圆括号,写出更优雅的代码:
>>>> sum(i for i in xrange(10)) 45
sum声明:
sum(iterable[, start])
Sums start and the items of an iterable from left to right and returns the total. start defaults to 0. The iterable‘s items are normally numbers, and are not allowed to be strings. The fast, correct way to concatenate a sequence of strings is by calling ''.join(sequence). Note that sum(range(n), m) is equivalent to reduce(operator.add, range(n), m) To add floating point values with extended precision, see math.fsum().
参数要求传入可迭代序列,我们传入一个生成器对象,完美实现。
注意区分下面代码:
上面的j为生成器类型,下面的j为list类型:
j = (i for i in range(10)) print j,type(j) print '*'*70 j = [i for i in range(10)] print j,type(j)
结果:
<generator object <genexpr> at 0x01CB1A30> <type 'generator'> ********************************************************************** [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] <type 'list'>
希望本文所述对大家Python程序设计的学习有所帮助。
list = [1,2,3,4,5,6]
for item in list:
print item
你说的是enumerate吧?
举个最简单的例子:
listValue = ["a", "b", "c"]
for index,strValue in enumerate(listValue):
print index,"is ",strValue
结果是:
0 is a
1 is b
2 is c
相关内容
- python实现在无须过多援引的情况下创建字典的方法,
- python对字典进行排序实例,python排序实例
- python实现忽略大小写对字符串列表排序的方法,python大
- python实现给字典添加条目的方法,python字典
- python中bisect模块用法实例,pythonbisect
- python实现获取序列中最小的几个元素,python序列
- python中类的一些方法分析,python方法分析
- python使用marshal模块序列化实例,pythonmarshal
- python使用cPickle模块序列化实例,pythoncpickle
- python实现在pickling的时候压缩的方法,pythonpickling
评论关闭