python 創建二維數組


創建一個3*3的2維數組

錯誤方法1:

array = [0, 0, 0]
matrix = [array*3]
print matrix

輸出:[[0,0,0,0,0,0,0,0,0]],錯誤

 

錯誤方法2:

array = [0, 0, 0]
matrix = [array] * 3
print matrix

輸出:[[0, 0, 0], [0, 0, 0], [0, 0, 0]],看起來正確

但是:

matrix[0][1] = 1
print matrix

輸出:[[0, 1, 0], [0, 1, 0], [0, 1, 0]],錯誤

為什么呢?因為matrix = [array] * 3操作中,只是創建3個指向array的引用,所以一旦array改變,matrix中3個list也會隨之改變。

 

 

正確方法:

方法1 直接定義

matrix = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]

方法2 間接定義

matrix = [[0 for i in range(3)] for i in range(3)]

 

 

參考:https://www.cnblogs.com/woshare/p/5823303.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM