Discuss / Python / 请问最后一句赋值,第三层,当n=2时,L[2]=L[2]+L[1]中参与计算的L[1]是刚赋值后的第三层的值 还是赋值前的值呢?

请问最后一句赋值,第三层,当n=2时,L[2]=L[2]+L[1]中参与计算的L[1]是刚赋值后的第三层的值 还是赋值前的值呢?

Topic source
def triangles():
    
    L=[1]

    while True:

        yield L[:]

        L.append(0)

        L=[L[n]+L[n-1] for n in range(len(L))] 

black度厄

#2 Created at ... [Delete] [Delete and Lock User]

赋值前的,等所有等计算结果完成以后才会赋值给L

black度厄

#3 Created at ... [Delete] [Delete and Lock User]

自己可以下载一个pycharm debug一下就能了解整个赋值步骤

Loafer_D

#4 Created at ... [Delete] [Delete and Lock User]

请问,为什么yield L[:]换成yield L就测试失败了


  • 1

Reply