欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python 初始化多維數(shù)組代碼

 更新時(shí)間:2008年09月06日 14:26:02   作者:  
python多維數(shù)組方法示例代碼
Python中初始化一個(gè)5 x 3每項(xiàng)為0的數(shù)組,最好方法是:
multilist = [[0 for col in range(5)] for row in range(3)]

我們知道,為了初始化一個(gè)一維數(shù)組,我們可以這樣做:
alist = [0] * 5

沒錯(cuò),那我們初始化一個(gè)二維數(shù)組時(shí),是否可以這樣做呢:
multi = [[0] * 5* 3

其實(shí),這樣做是不對(duì)的,因?yàn)閇0] * 5是一個(gè)一維數(shù)組的對(duì)象,* 3的話只是把對(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é)果。

如果我們這樣寫呢:
multilist = [[0] * 5 for row in range(3)]
multilist[0][0] 
= 'Love China'
print multilist
我們看輸出結(jié)果:
[['Love China', 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
恩,沒問題。但是,由于使用 * 的方法比較容易引起混淆導(dǎo)致Bug,所以還是推薦使用上面第一種方法,即:
multilist = [[0 for col in range(5)] for row in range(3)]

相關(guān)文章

最新評(píng)論