python语法_列表生成式_生成式
Posted 小水胖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python语法_列表生成式_生成式相关的知识,希望对你有一定的参考价值。
列表生成式
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语法_列表生成式_生成式的主要内容,如果未能解决你的问题,请参考以下文章