Welcome 歡迎光臨! 愛上網路-原本退步是向前 !

二維陣列

二維陣列在使用要特別小心

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

print(a)                    #[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

print(id(a[0]),id(a[1]))    #2251926994752 2251926769536

指向不同 address

b=[[0]*4]*3

print(b)                    #[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

print(id(b[0]),id(b[1]))    #2377476734080 2377476734080

指向同一 address 即b[0]=b[1]=b[2]

c=[1,2,3]*4

print(c)                    #[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]

print(id(c[0]),id(c[1]))    #140719996314744 140719996314776

這個是重複內容不是陣列

 

rows, cols = 3, 4                                   #[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

m = [[0 for _ in range(cols)] for _ in range(rows)] #2224938054720 2224938532416

print(m)

print(id(m[0]),id(m[1]))

 

===========================

 

 

[ Python ] 瀏覽次數 : 13 更新日期 : 2026/04/25