国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python數組定義方法

2019-11-25 16:50:44
字體:
來源:轉載
供稿:網友

本文實例講述了Python數組定義方法。分享給大家供大家參考,具體如下:

Python中沒有數組的數據結構,但列表很像數組,如:

a=[0,1,2]

這時:a[0]=0, a[1]=1, a[[2]=2,但引出一個問題,即如果數組a想定義為0到999怎么辦?這時可能通過a = range(0, 1000)實現。或省略為a = range(1000).如果想定義1000長度的a,初始值全為0,則 a = [0 for x in range(0, 1000)]

下面是二維數組的定義:

直接定義:

a=[[1,1],[1,1]]

這里定義了一個2*2的,且初始為0的二維數組。

間接定義:

a=[[0 for x in range(10)] for y in range(10)]

這里定義了10*10初始為0的二維數組。

還有更簡單的字義二維數組的方法:

b = [[0]*10]*10

定義10*10初始為0的二維數組。

與a=[[0 for x in range(10)] for y in range(10)]比較:print a==b的結果為True。

但用b的定義方法代替a后,以前的可以正常運行的程序也出錯了,經過仔細分析得出區別:

a[0][0]=1時,只有a[0][0]為1,其他全為0。

b[0][0]=1時,a[0][0],a[1][0],只到a[9,0]全部為1。

由此得到大數組中的10個小的一維數據全是一個相同的引用,即指向同一地址。
故 b = [[0]*10]*10并不符合我們常規意義上的二維數組。

同時經過試驗:c=[0]*10的定義與c=[0 for x in range(10)]有同樣的效果,而沒有上面相同引用的問題,估計數組c的定義時是值類型相乘,而前面b的用類型的相乘,因為一維數組是一個引用(借用C#中的值類型和引用類型,不知是否合適)。

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宿州市| 漳浦县| 东至县| 永寿县| 延吉市| 镶黄旗| 中宁县| 焦作市| 古蔺县| 潜山县| 确山县| 仁寿县| 娄底市| 双峰县| 长海县| 棋牌| 聂荣县| 重庆市| 武定县| 当阳市| 黄骅市| 台北县| 阳曲县| 聊城市| 高碑店市| 偃师市| 邓州市| 萍乡市| 湖南省| 佛坪县| 宁夏| 昌吉市| 洮南市| 革吉县| 洛宁县| 城步| 桂阳县| 南皮县| 辛集市| 涪陵区| 孟村|