Python多維數(shù)組代碼“真人版”
如果你再計(jì)算機(jī)學(xué)習(xí)的過(guò)程中,遇到Python多維數(shù)組在Python 初始化語(yǔ)言多維數(shù)組代碼來(lái)發(fā)布Python多維數(shù)組的相關(guān)操作方案怒視很清楚的情況下,你就可以點(diǎn)擊我們的文章觀看了。此文涉及Python 初始化多維數(shù)組代碼發(fā)布Python多維數(shù)組方法示例代碼。
Python中初始化一個(gè)5 x 3每項(xiàng)為0的數(shù)組,最好方法是:
- multilist = [[0 for col in range(5)] for row in range(3)]
我們知道,Python多維數(shù)組為了初始化一個(gè)一維數(shù)組,我們可以這樣做:
- alist = [0] * 5
沒(méi)錯(cuò),那我們初始化一個(gè)二維數(shù)組時(shí),是否可以這樣做呢:
- multi = [[0] * 5] * 3
其實(shí),這樣做是不對(duì)的,因?yàn)閇0] * 5是一個(gè)一維數(shù)組的對(duì)象,* 3的話(huà)只是把對(duì)象的引用復(fù)制了3次,比如,我修改multi[0][0]:
- multi = [[0] * 5] * 3
- multi[0][0] = 'Love China'
print multi輸出的結(jié)果將是:
- [['Love China', 0, 0, 0, 0], ['Love China', 0, 0, 0, 0],
['Love China', 0, 0, 0, 0]]
我們修改了multi[0][0],卻把我們的
- multi[1][0],multi[2][0]
也修改了。這不是我們想要的結(jié)果。如果我們這樣寫(xiě)呢:
- multilist = [[0] * 5 for row in range(3)]
- multilist[0][0] = 'Love China'
print multilist我們看輸出結(jié)果:
- multi[1][0],multi[2][0]
恩,沒(méi)問(wèn)題。但是,由于使用 * 的方法比較容易引起混淆導(dǎo)致Bug,所以還是推薦使用上面第一種方法,即:
- multilist = [[0 for col in range(5)] for row in range(3)]
以上文章就是對(duì)Python 初始化多維數(shù)組代碼發(fā)布python多維數(shù)組方法示例代碼
【編輯推薦】