Python面试题--第62道题目--Python生成器yield--2022年04月17日

Python面试题--第62道题目--Python生成器yield--2022年04月17日,第1张

一、生成器的定义:

python生成器:其实就是一个函数,只是需要使用yield关键字处理每一个需要迭代的值。

二、实例代码演示:

1、循环一个列表:

def mygeneratar():
    numlist = [1,2,3,4,5,6,7]
    for num in numlist:
        yield num

for num in mygeneratar():
    print(num, end= ' ')
print()


# 生成结果如下
# 1 2 3 4 5 6 7

2、编写一个生成器,将一个二维的列表转化为一维的列表。

def enumlist(elist):
    for num in elist:
        for n in num:
            yield n

elist = [[1,2,3], [4,5,6],[7,8,9]]
for i in enumlist(elist):
    print(i, end= ' ')

# 处理成一个列表
e = list(enumlist(elist))
print()
print(type(e))
print(e)

执行结果如下图:

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/718828.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-25
下一篇 2022-04-25

发表评论

登录后才能评论

评论列表(0条)

保存