Python中二維數組的創建


習慣了java的Matrix = [][]不知道python怎么創二維數組。

先看 python中的二維數組操作

對最后提出的二維數組創建方式存在疑問

Matrix = [([0] * 3) for i in range(4)]

為什么可以用[0]*3?不會淺拷貝嗎?

 

看了其他博客的二維數組創建方式為:

Matrix = [[0 or j in range(3)] for i in range(4)]

當然,也發現了另一種方法:

Matrix = [[]]

 

回到原博客,發現下面評論有與我相似的疑問:

 

再往下看到解答:

"哦~~~~"

自己試了下:

list2 = [0] * 3
list2[2] = 1
list2
[0, 0, 1]

確實如此

 

看來還是要系統地學下python了……

 

---------------------------------------------------------------------------------------------------

task_list = []
for i in range(n):
task_list.append([])
for t in range(n):
task_list[t].append(data[t])
#其實可以從指針/引用、內存分配的角度考慮


list用append方法來追加;
np.array不建議用append方法,因為numpy數組都是放置在一整塊內存中的,使用append方法會將原數組和新追加的內容都拷貝一份到新的內存中然后返回,可以用list.append追加完后再轉為np.array。


免責聲明!

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



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