有關python中一維,二維,三維陣列的理解

2021-10-23 15:16:38 字數 1853 閱讀 7739

假設某比賽分a,b,c三個組。每組有參賽者5名,分別來自15個不同的國家。

對於a組來說,一維陣列相當於建立乙個姓名列表 name =['參賽者a1','參賽者a2',....,'參賽者a5'],列表裡有5個元素,代表五個參賽者。

接著上面的,對於a組來說,二維陣列相當於建立乙個 姓名-國籍 陣列

輸出的(5, 2)表示,5行2列。意思是五個參賽者除了姓名屬性外,還有國籍屬性。有幾個屬性就有幾列。相當於資料庫表裡的字段,有幾個字段資料庫表就有幾列。

import numpy as np

namecountry= np.array([['參賽者a1','國籍a1'],

['參賽者a2','國籍a2'],

['參賽者a3','國籍a3'],

['參賽者a4','國籍a4'],

['參賽者a5','國籍a5']])

print(namecountry)

print(namecountry.shape)

輸出為:

[['參賽者a1' '國籍a1']

['參賽者a2' '國籍a2']

['參賽者a3' '國籍a3']

['參賽者a4' '國籍a4']

['參賽者a5' '國籍a5']]

(5, 2)

在上面兩個的基礎上。每組參賽者都有姓名-國籍屬性,有三組,就形成了三維陣列。**如下:

import numpy as np

namecountrys = np.array([

[['參賽者a1','國籍a1'],['參賽者a2','國籍a2'],['參賽者a3','國籍a3'],['參賽者a4','國籍a4'],['參賽者a5','國籍a5']],

[['參賽者b1','國籍b1'],['參賽者b2','國籍b2'],['參賽者b3','國籍b3'],['參賽者b4','國籍b4'],['參賽者b5','國籍b5']],

[['參賽者c1','國籍c1'],['參賽者c2','國籍c2'],['參賽者c3','國籍c3'],['參賽者c4','國籍c4'],['參賽者c5','國籍c5']]

])print(namecountrys)

print(namecountrys.shape)

輸出為:

[['參賽者a1' '國籍a1']

['參賽者a2' '國籍a2']

['參賽者a3' '國籍a3']

['參賽者a4' '國籍a4']

['參賽者a5' '國籍a5']]

(5, 2)

[[['參賽者a1' '國籍a1']

['參賽者a2' '國籍a2']

['參賽者a3' '國籍a3']

['參賽者a4' '國籍a4']

['參賽者a5' '國籍a5']]

[['參賽者b1' '國籍b1']

['參賽者b2' '國籍b2']

['參賽者b3' '國籍b3']

['參賽者b4' '國籍b4']

['參賽者b5' '國籍b5']]

[['參賽者c1' '國籍c1']

['參賽者c2' '國籍c2']

['參賽者c3' '國籍c3']

['參賽者c4' '國籍c4']

['參賽者c5' '國籍c5']]]

(3, 5, 2)

輸出的(3,5, 2)表示,第三維的2表示每組有姓名和國籍兩個屬性;第二維的5表示每組有五個參賽者;最後的第一維3就代表者有3個小組。

其實一維就是只有乙個屬性,一種特徵;二維就是有多個屬性,多個特徵;三維即有多組,每組的屬性相同。

二維數 三維陣列

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

二維三維偏序

一維偏序 就是排序,二維偏序 排序 樹狀陣列 例題 給定 n 個點 x,y 定義每個點的等級是在該點左下方 含正左 正下 的點的數目,試統計每個等級有多少個點。題目鏈結 分析 對於二維偏序 對1維x進行排序,那麼在右邊的點不會對左邊的點有貢獻。然後對y建立樹狀陣列。計算0 y的和,就是sum y i...

如何建立二維三維陣列

ps 一維陣列是指標,可將二維陣列看作是指標的指標 每一行是乙個一維陣列,而列是指向行的指標。在動態建立時,先分配指向行的指標空間,再迴圈維每一行申請空間。二維 建立 int p p new int x 行 申請行的空間 每行的列申請空間 for i 0 i三維 建立 int p3 p3 new i...