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並不符合我們常規意義上的二維陣列。
更多學習內容,請點選。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2249/viewspace-2836109/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- javascript陣列定義JavaScript陣列
- python中怎麼列印陣列Python陣列
- GO 陣列-多種定義Go陣列
- Java 定義長度為 0 的陣列 / 空陣列Java陣列
- python中整數怎麼定義Python
- JAVA陣列的定義及用法Java陣列
- java 陣列的定義(宣告)方法Java陣列
- python怎麼生成隨機不重複陣列Python隨機陣列
- c#二維陣列定義宣告C#陣列
- TS定義陣列 ts宣告函式陣列函式
- 【C++】為什麼不能定義陣列的引用,卻可定義變數的引用C++陣列變數
- CoffeeScript攻略4.5:定義陣列範圍陣列
- 實體類定義陣列物件,和物件陣列物件
- python陣列下標怎麼獲取值並輸出Python陣列
- 定義陣列時為什麼不能用含有變數的表示式陣列變數
- 【基礎題】【陣列】定義並初始化陣列
- 定義/賦值陣列、 expect預期互動賦值陣列
- shell 中怎麼定義常量
- DELPHI也可以實現控制元件陣列,用定義陣列變數實現控制元件陣列 (轉)控制元件陣列變數
- 什麼是抽象類?怎麼定義?抽象
- thymeleaf關於js的一些坑(陣列定義)JS陣列
- vue3+ts 定義props中的物件陣列Vue物件陣列
- js:陣列自定義排序JS陣列排序
- 大家怎麼初始化多維陣列陣列
- PHP 陣列配置檔案怎麼用?薦PHP陣列
- python實現給定一個數和陣列,求陣列中兩數之和為給定的數Python陣列
- (三)陣列的定義、折半查詢、排序(選擇和冒泡)陣列排序
- java二維陣列定義初始化-楊輝三角Java陣列
- Python怎麼設定代理Python
- 矩陣指數的定義矩陣
- Python命令列引數定義及注意事項Python命令列
- 怎麼快速記憶系統陣列函式陣列函式
- 面試官問你陣列和ArrayList怎麼答?面試陣列
- API 返回多維陣列,子陣列總變成物件,該怎麼處理好呢?API陣列物件
- Java總結 Day17 <物件陣列的定義與使用>Java物件陣列
- cad陣列快捷鍵命令怎麼用 cad環形陣列命令的快捷鍵陣列
- Python陣列常用操作Python陣列
- 陣列怎樣在python3中逆序輸出?陣列Python