故事比喻:魔法书架与多维数组(Nupy 多维数组)
在一个神秘的图书馆里,有一座巨大的魔法书架,它可以整齐地存放、查找、调整和计算大量的书籍。这个书架的排列方式非常特殊,就像 Nupy 的多维数组(ndarray),每一层、每一排、每一个格子都有规律可循。
1d 数组:单层书架(Nupy 的 1 维数组)
首先,魔法书架的第一层存放着一系列书籍,它们整齐地排成一排。
比喻:一维数组(1d array)就是一排书。
iport nupy as np
shelf = np.array([‘哈利波特’, ‘纳尼亚传奇’, ‘指环王’])
? 特点:
? 只有一排,没有更复杂的结构。
? 你可以用索引快速找到书,比如 shelf[0] 就是 ‘哈利波特’。
2d 数组:多层书架(Nupy 的 2 维数组)
馆长觉得一排书不够放,于是他增加邻二层书架,现在书架上有多行书,每一行都是一个类别:
书架层 书籍1 书籍2 书籍3
第一层() 哈利波特 纳尼亚传奇 指环王
第二层(科幻) 三体 银河帝国 沙丘
比喻:二维数组(2d array)就像一个有多层的书架,每一行是一个类别。
shelves = np.array([
[‘哈利波特’, ‘纳尼亚传奇’, ‘指环王’],
[‘三体’, ‘银河帝国’, ‘沙丘’]
])
? 特点:
? 每一行都是一类书,比如 第一行是,第二行是科幻。
? shelves[1, 0] 代表 ‘三体’,因为 [1] 代表第二层,[0] 代表第一本书。
3d 数组:多排、多层、多书架(Nupy 的 3 维数组)
为了存放更多的书,图书馆扩建了一个新的房间,里面有多个这样的书架。现在整个图书馆的结构变成这样:
比喻:三维数组(3d array)就像有多个书架的房间。