dp = [[float('inf')]*2]*(2+1)
dp1 = [[float('inf')]*2 for _ in range(2+1)]
dp[1][0] = 1
dp1[1][0] = 1
print((dp))
print((dp1))
[[1, inf], [1, inf], [1, inf]]
[[inf, inf], [1, inf], [inf, inf]]
因为乘法是引用的地址,for循环是创建新地址内存
也可以利用深拷贝解决
dp = [[float('inf')]*2]*(2+1)
dp1 = [[float('inf')]*2 for _ in range(2+1)]
dp[1][0] = 1
dp1[1][0] = 1
print((dp))
print((dp1))
[[1, inf], [1, inf], [1, inf]]
[[inf, inf], [1, inf], [inf, inf]]
因为乘法是引用的地址,for循环是创建新地址内存
也可以利用深拷贝解决