python 迭代器的问题


def genAB():
    print("start")
    yield 'A'
    print("continue")
    yield 'B'
    print("end")

ans1 = [x*2 for x in genAB()] # 循环迭代列表推导生成的 ans1 列表
# 输出以下内容
# start
# continue
# end

请问如何通俗的理解上面代码 就是不理解它为什么是这么输出的 !

返回的是a和b,输出是由print完成的,所以不受到*2的影响
有帮助望采纳

因为你只调用了函数,所以只返回 print,迭代状态下才会输出 yield