码迷,mamicode.com
首页 > 编程语言 > 详细

python语法_列表生成式_生成式

时间:2018-12-09 16:34:18      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:结果   python   span   行操作   iterable   生成式   元素   font   调用   

列表生成式

a = [x for x in range(10)]

print(a)

x 可进行操作

a = [x*2 for x in range(10)]

print(a)

x甚至可以为函数,

def f(n):

  return n*n*n

a = [f(x) for x in range(10)]

########################

赋值方法

t = (‘123‘,8)
a,b = t
print(a)
print(b)
#############
a =(x for x in range(10))#
print(a)#generator object
这个时候打印出来的结果是一个生成器对象,并没有生成序列且将里面的元素并全部存进内存(列表生成器时生成的列表,列表里的元素已经全部存进内存了)
类比于之前是厨师做了N道菜出来(列表),菜(元素)全部吃进了肚子(内存),这里只是生成了一个厨师(生成器),想吃什么菜(元素)就调用厨师进行生成。

print(next(a)) 这样就可答应序列的第一个值了,next(a)等价于 a.__next__()
生成器里能迭代多少次,就能取多少次值,只能按顺序一个一个区,不能隔取,反顺序取,取完不能再进行曲了,会返回迭代错误的报错。
生成器就是一个可迭代对象Iterable object

python语法_列表生成式_生成式

标签:结果   python   span   行操作   iterable   生成式   元素   font   调用   

原文地址:https://www.cnblogs.com/kevingm/p/10090955.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!