Python 列表生成器

1.列表生成器用法

1.1 表达式

a=[x*x for x in [1,2,3]]  #[1,4,9]   对象以及数据生成在内存中存储

 

1.2 函数

def foo(n):

    return n**3

a=[foo(x)   for x in [1,2,3] ] #[1,8,27]

 

注意:格式为[ x   for  x   in   list]   前面的X与后面的参数名称一致,list必须为列表,遍历调用前面的表达式 X 或者函数,返回值放在一个列表中

1.3 生成器对象

a=(x*x for x in [1,2,3]) #a打印为生成器对象,不占据内存,数据未生成

 

取数据 next(a)  等价于 a.__next__() py3/a.next() py2    当取数据时生成,只能按照顺序取数据,不能索引,每次打印数据不同

生成器就是一个可迭代对象

for i in a:

    print (i)

 

posted on 2018-01-12 00:51  可爱的春哥  阅读(177)  评论(0)    收藏  举报

导航