数组与张量中[]和[][]怎么区分含义

要区分张量(Tensor)和数组(Array)中单层索引(例如 `[]`)与多层索引(例如 `[[]]`)的使用,可以类比到生活中的一些例子来更直观地理解。我们将从基本概念开始,然后结合生活中的例子详细解释这些区别和用法。

### 基本概念

- **单层索引 `[]`**:用于在一个维度上进行索引。
- **多层索引 `[[]]`**:用于在多个维度上进行索引。

### 生活中的类比:书架和书籍

想象一下,你有一个书架(类似于二维数组),书架上有多层书架,每层书架上有多本书。

1. **书架结构(二维数组/张量)**:
   - 第一层书架有3本书,编号为 0, 1, 2。
   - 第二层书架有3本书,编号为 3, 4, 5。
   - 第三层书架有3本书,编号为 6, 7, 8。

   书架可以表示为一个二维数组:

   ```python
   bookshelf = [
       [0, 1, 2],  # 第一层书架
       [3, 4, 5],  # 第二层书架
       [6, 7, 8]   # 第三层书架
   ]
   ```

### 单层索引 `[]`

- **获取某一层书架上的所有书**:
  ```python
  shelf_1 = bookshelf[0]  # 获取第一层书架
  # shelf_1 = [0, 1, 2]
  ```

  **类比**:你走到书架前,取下第一层的整个书架,这层上有书编号 0, 1, 2。

### 多层索引 `[[]]`

- **获取某层书架上的某一本书**:
  ```python
  book_1 = bookshelf[0][1]  # 获取第一层书架上的第二本书
  # book_1 = 1
  ```

  **类比**:你走到书架前,取下第一层书架上的第二本书(编号为1的书)。

### 扩展到三维张量

想象你有一个书柜,每个书柜里有多个书架,每个书架上有多本书:

```python
bookcase = [
    [
        [0, 1, 2],  # 第一书柜的第一层书架
        [3, 4, 5]   # 第一书柜的第二层书架
    ],
    [
        [6, 7, 8],  # 第二书柜的第一层书架
        [9, 10, 11] # 第二书柜的第二层书架
    ]
]
```

- **获取某一个书柜**:
  ```python
  cabinet_1 = bookcase[0]
  # cabinet_1 = [[0, 1, 2], [3, 4, 5]]
  ```

  **类比**:你走到书架前,取下整个第一书柜,这里面有两个层书架,每层有多本书。

- **获取某个书柜某层书架上的书**:
  ```python
  shelf_2_1 = bookcase[1][0]
  # shelf_2_1 = [6, 7, 8]
  ```

  **类比**:你走到书架前,取下第二书柜的第一层书架,这层上有书编号 6, 7, 8。

- **获取某个书柜某层书架上的某一本书**:
  ```python
  book_2_1_2 = bookcase[1][0][2]
  # book_2_1_2 = 8
  ```

  **类比**:你走到书架前,取下第二书柜的第一层书架上的第三本书(编号为8的书)。

### 总结

- **单层索引 `[]`**:用于获取某一个维度的整体内容。
  - 生活类比:从书架上取下整个层书架。
- **多层索引 `[[]]`**:用于在多个维度上进行索引,逐层深入直到获取具体的元素。
  - 生活类比:从书架上取下某一层书架上的某一本书。

这种索引方式同样适用于数组和张量。在编程中,理解索引的维度和结构对于正确提取和操作数据非常重要。使用生活中的书架和书籍的类比,可以更直观地理解这些概念。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ai玩家hly

年少且带锋芒,擅行侠仗义之事

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值