1
回答
两种方式初始化list但结果完全不同,python离奇问题求解
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   
#=====生成方式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
发帖于4年前 1回/1K+阅
顶部