Python 初始化多維數(shù)組代碼
更新時(shí)間:2008年09月06日 14:26:02 作者:
python多維數(shù)組方法示例代碼
Python中初始化一個(gè)5 x 3每項(xiàng)為0的數(shù)組,最好方法是:
我們知道,為了初始化一個(gè)一維數(shù)組,我們可以這樣做:
沒錯(cuò),那我們初始化一個(gè)二維數(shù)組時(shí),是否可以這樣做呢:
其實(shí),這樣做是不對(duì)的,因?yàn)閇0] * 5是一個(gè)一維數(shù)組的對(duì)象,* 3的話只是把對(duì)象的引用復(fù)制了3次,比如,我修改multi[0][0]:
[['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é)果。
如果我們這樣寫呢:
[['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)]
我們知道,為了初始化一個(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é)果將是:multi[0][0] = 'Love China'
print multi
[['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é)果:multilist[0][0] = 'Love China'
print multilist
[['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)]
您可能感興趣的文章:
- python中numpy的矩陣、多維數(shù)組的用法
- python統(tǒng)計(jì)多維數(shù)組的行數(shù)和列數(shù)實(shí)例
- Python動(dòng)態(tài)生成多維數(shù)組的方法示例
- Python 實(shí)現(xiàn)取多維數(shù)組第n維的前幾位
- Python高級(jí)特性——詳解多維數(shù)組切片(Slice)
- python實(shí)現(xiàn)在多維數(shù)組中挑選符合條件的全部元素
- 在python中創(chuàng)建指定大小的多維數(shù)組方式
- Python中矩陣創(chuàng)建和矩陣運(yùn)算方法
- Python矩陣常見運(yùn)算操作實(shí)例總結(jié)
- Python實(shí)現(xiàn)的矩陣轉(zhuǎn)置與矩陣相乘運(yùn)算示例
- python簡(jiǎn)單實(shí)現(xiàn)矩陣的乘,加,轉(zhuǎn)置和逆運(yùn)算示例
- Python操作多維數(shù)組輸出和矩陣運(yùn)算示例
相關(guān)文章
python實(shí)現(xiàn)的MySQL增刪改查操作實(shí)例小結(jié)
這篇文章主要介紹了python實(shí)現(xiàn)的MySQL增刪改查操作,結(jié)合實(shí)例形式總結(jié)分析了Python基本的mysql增刪改查及銀行賬號(hào)查詢等相關(guān)操作實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-12-12在tensorflow中設(shè)置保存checkpoint的最大數(shù)量實(shí)例
今天小編就為大家分享一篇在tensorflow中設(shè)置保存checkpoint的最大數(shù)量實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2020-01-01在Django的視圖中使用數(shù)據(jù)庫(kù)查詢的方法
這篇文章主要介紹了在Django的視圖中使用數(shù)據(jù)庫(kù)查詢的方法,是Python的Django框架使用的基礎(chǔ)操作,需要的朋友可以參考下2015-07-07Python使用grequests(gevent+requests)并發(fā)發(fā)送請(qǐng)求過程解析
這篇文章主要介紹了Python使用grequests并發(fā)發(fā)送請(qǐng)求過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09