Discuss / Python / 【求助】不是用的生成器,但找不出来错误原因,求大神帮忙看下

【求助】不是用的生成器,但找不出来错误原因,求大神帮忙看下

Topic source
def triangles():
	L1=L2=[1]
	while True:
		yield(L1)
		for i,x in enumerate(L1):
			if i > 0:
				L2.append(L1[i-1]+x)
		L2.append(1)
		L1=L2
		L2=[1]
n = 0
results = []
for t in triangles():
    print(t)
    results.append(t)
	print("results: ",results)
    n = n + 1
    if n == 10:
        break
#输出结果如下:
#[1]
#results:  [[1]]
#[1, 1]
#results:  [[1, 1], [1, 1]]
#[1, 2, 1]
#results:  [[1, 1], [1, 1], [1, 2, 1]]
#[1, 3, 3, 1]
#results:  [[1, 1], [1, 1], [1, 2, 1], [1, 3, 3, 1]]
#.....

求问为什么第二次append的时候,把第一次append的结果修改了


  • 1

Reply