1
回答
两种方式初始化list但结果完全不同,python离奇问题求解
终于搞明白,存储TCO原来是这样算的>>>   
#=====生成方式1=====
P=[]
for j in range(0,2):
    Q=[0]*2
    R=[]
    for i in range(0,3):
        R.append(Q)
    P.append(R)    
print P
P[0][0][0]=1
print P
#==================


#=====生成方式2=====


P=[[[0, 0], [0, 0], [0, 0]], [[0, 0], [0, 0], [0, 0]]]
print P
P[0][0][0]=1
print P
#==================

输出:

[[[0, 0], [0, 0], [0, 0]], [[0, 0], [0, 0], [0, 0]]]
[[[1, 0], [1, 0], [1, 0]], [[0, 0], [0, 0], [0, 0]]]
[[[0, 0], [0, 0], [0, 0]], [[0, 0], [0, 0], [0, 0]]]
[[[1, 0], [0, 0], [0, 0]], [[0, 0], [0, 0], [0, 0]]]

Why????



举报
Nelson_Hong
发帖于3年前 1回/1K+阅
顶部