python三維陣列 資料結構 陣列

2021-10-17 23:34:11 字數 2725 閱讀 5784

「線性表」(linear list)是數學應用在電腦科學中的一種相當簡單與基本的資料結構。按照記憶體儲存方式可分為靜態資料結構(也稱為「密集表」)和動態資料結構(又稱為「鍊錶」)。

靜態資料結構設計時相當簡單,而且讀取與修改表中任意乙個元素的時間都是固定的。缺點是刪除和插入資料時,需要移動大量的資料;動態資料結構的記憶體時在程式執行時才進行分配的,所以不需要事先宣告,這樣能充分節省記憶體。缺點是在設計資料結構時較為麻煩,另外在查詢資料時,也無法像靜態資料一般可以隨機讀取,必須直到按順序找到該資料為止。

例1:使用python的一維列表來記錄學生的分數,使用for迴圈列印出每筆學生成績並計算分數的總和。

score = [87, 66, 90, 65, 70]

total_score = 0

for count in range(5):

print("第%d位學生的分數:%d" %(count+1, score[count]))

total_score += score[count]

print("---------------------------")

print('5位學生的總分:%d' %total_score)

【執行結果】

第1位學生的分數:87

第2位學生的分數:66

第3位學生的分數:90

第4位學生的分數:65

第5位學生的分數:70

---------------------------

5位學生的總分:378

一、二維陣列

在實際的計算機記憶體中時無法以矩陣方式儲存的,仍然是以線性方式來儲存二維陣列,就是把它視為一維陣列的擴充套件來處理。一般就是按行或者按列的方式進行表示。在python中,列表中可以有列表,這種情況就稱為二維列表,要讀取二維列表的資料可以通過for迴圈來完成。簡單來講, 二維列表就是列表中元素是列表。

二、三維陣列

基本上三維陣列的表示法和二維陣列一樣,都可視為一維陣列的延伸。如果陣列是三維陣列,就可以看作是乙個立方體。

例2,設計乙個python程式,利用巢狀迴圈來找出三維陣列中所儲存陣列中的最小值。

num = [[[33, 45, 67], [23, 71, 66], [55, 38, 66]],

[[21, 9, 15], [38, 69, 18], [90, 101, 89]]]

value = num[0][0][0] #設定value為num陣列的第乙個元素

for i in range(2):

for j in range(3):

for k in range(3):

if (value>=num[i][j][k]):

value = num[i][j][k] #利用三重迴圈找出最小值

print("最小值 = %d" %value)

【執行結果】

最小值 = 9
定義乙個3x3的矩陣

arr = [[none] * 3 for row in range(3)]

print(arr)

【執行結果】

[[none, none, none], [none, none, none], [none, none, none]]
三、陣列與多項式

如何將乙個多項式用陣列結構儲存在計算機中?

例3 設計乙個python程式,並進行兩個多項式的加法運算。

items = 6

def printpoly(poly, items):

maxexp = poly[0]

for i in range(1,poly[0]+2):

maxexp -= 1

if poly[i] !=0:

if (maxexp+1)!=0:

print('%dx^%d' %(poly[i], maxexp+1), end='')

else:

print('%d' %poly[i], end='')

if maxexp>=0:

print('%c' %'+', end='')

print()

def polysum(poly1, poly2):

result=[none]*items

result[0] = poly1[0]

for i in range(1,poly1[0]+2):

result[i] = poly1[i] +poly2[i]

printpoly(result, items)

polya = [4,3,7,0,6,2]

polyb = [4,1,5,2,0,9]

printpoly(polya,items)

printpoly(polyb,items)

polysum(polya,polyb)

【執行結果】

3x^4+7x^3+6x^1+2

1x^4+5x^3+2x^2+9

4x^4+12x^3+2x^2+6x^1+11

MySQL三維資料結構 MySQL資料結構

索引 索引是對資料庫表中一列或多列的值進行排序的一種結構,使用索引可快速訪問資料庫表中的特定資訊。是一種單獨的 物理的對資料庫表中一列或多列的值進行排序的一種儲存結構,它是某個表中一列或若干列值的集合和相應的指向表中物理標識這些值的資料頁的邏輯指標清單。mysql索引的資料結構是b 樹,mongod...

二維數 三維陣列

二維陣列 2017 11 10 對比 1 概念 一維陣列 存貯一組相同型別資料 二維陣列 存貯著多個一維陣列 類推 三維陣列 存貯著多個二維陣列 2 宣告 一維陣列 陣列型別 陣列名 初始值 int arr01 int arr00 new int 5 二維陣列 陣列型別 陣列名 初值 陣列型別為一維...

php三維陣列取數例項

data 把json資料轉化為array陣列 result json decode data,true 把三維陣列轉化為二維陣列 foreach result as table var dump arr 取出列為kf account的陣列 foreach arr as key value var d...