电脑现已成为我们工作、生活和娱乐必不可少的工具了,在使用电脑的过程中,可能会遇到如何运用python的generator生成器的问题,如果我们遇到了如何运用python的generator生成器的情况,...
电脑现已成为我们工作、生活和娱乐必不可少的工具了,在使用电脑的过程中,可能会遇到如何运用python的generator生成器的问题,如果我们遇到了如何运用python的generator生成器的情况,该怎么处理怎么才能解决如何运用python的generator生成器带来的困扰呢,对于这样的问题其实我们只需要python3def test(ls):newls = []for i in ls:newls.append(i + 2)return newlsls = [2, 5, 9, 11]test(ls)#首先要让大家知道正常遍历式修改列表的一个方法。def test(ls):for i in ls:yield (i + 2)ls = [2, 5, 9, 11]test(ls)#使用yield就可以制作这样就解决了这样的问题,接下来给大家带来如何运用python的generator生成器的详细操作步骤。
工具/原料
python3
方法/步骤
def test(ls):
newls = []
for i in ls:
newls.append(i + 2)
return newls
ls = [2, 5, 9, 11]
test(ls)
#首先要让大家知道正常遍历式修改列表的一个方法。

def test(ls):
for i in ls:
yield (i + 2)
ls = [2, 5, 9, 11]
test(ls)
#使用yield就可以制作生成器了,大大简化了书写。

def test(ls):
for i in ls:
yield (i + 2)
ls = [2, 5, 9, 11]
next(test(ls))
#我们要输出生成器的内容,需要用next,但是只能输出一个。

def test(ls):
for i in ls:
yield (i + 2)
ls = [2, 5, 9, 11]
print(next(test(ls)))
print(next(test(ls)))
print(next(test(ls)))
#如果要多次输出不能这样书写,不然固定返回第一个结果。

def test(ls):
for i in ls:
yield (i + 2)
ls = [2, 5, 9, 11]
g = test(ls)
print(next(g))
print(next(g))
print(next(g))
#我们需要存储在一个变量里面,再进行打印。

def test(ls):
for i in ls:
yield (i + 2)
ls = [2, 5, 9, 11]
g = test(ls)
print(next(g))
print(next(g))
print(next(g))
print(next(g))
print(next(g))
#超出范围的时候会进行提醒。

ls = [2, 5, 9, 11]
g = [i + 2 for i in ls]
print(g)
#列表推导式可以和生成器一起用,我们先看看列表推导式的使用方法。

ls = [2, 5, 9, 11]
g = (i + 2 for i in ls)
print(g)
#这个时候把中括号变成括号就可以变成生成器了。

ls = [2, 5, 9, 11]
g = (i + 2 for i in ls)
print(next(g))
print(next(g))
print(next(g))
#同样也是可以用next来把数据输出。

ls = [2, 5, 9, 11]
g = (i + 2 for i in ls)
for i in g:
print(i)
#也可以用FOR循环把他们打印出来。

注意事项
注意yield放的位置
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。



