Discuss / Python / 为什么当前行fac一改变,上一行列表pre就改变呢?变得和fac一样。 有老铁知道吗?求解

为什么当前行fac一改变,上一行列表pre就改变呢?变得和fac一样。 有老铁知道吗?求解

Topic source

def triangles(lines): pre = [0] fac = [] for num in range(lines):

    if num>1:
        for n in range(1,num):
            fac[n] = pre[n-1]+pre[n]
    fac.append(1)    
    pre = fac
    yield(fac)

for l in triangles(6): print(l)

[1] [1, 1] [1, 2, 1] [1, 3, 4, 1] [1, 4, 8, 9, 1] [1, 5, 13, 22, 23, 1]

在fac后面加一个[:]试试


  • 1

Reply