如何用Generator生成斐波那契数列并追加到列表?为何输出None?
问题原因与解决方法
问题核心:
list.append()是原地修改列表的方法,它不会返回任何有效内容,固定返回None。你把lst.append(f)的返回值赋值给fibb,打印的自然是None——但实际上列表lst已经正确追加了斐波那契元素,这就是你调试时能看到列表内容的原因。修复后的代码:
def fib(): a,b = 0, 1 while True: yield a a,b = b, a+b lst = [] for f in fib(): if f > 50: break lst.append(f) # 直接调用append,无需接收返回值 print(f) # 打印当前追加的元素,或替换成print(lst)查看完整列表 print("最终斐波那契列表:", lst)
内容的提问来源于stack exchange,提问作者Tejal Badgujar
相关产品推荐
相关产品推荐

