姚老师 发表于 2021-10-27 19:08:33

列表5课后习题求解,关于创建随机二维矩阵

import random
   
# 创建并初始化二维列表
matrix = []
for i in range(88):
    matrix.append([])
    for j in range(88):
      matrix.append(random.randint(0, 1024))


不太明白代码的逻辑。
import random
   
# 创建并初始化二维列表
matrix = []                   #为什么创建空列表
for i in range(88):
    matrix.append([])      #这句又是什么意思呢?在空列表中创建一个空列表?
    for j in range(88):    #这个“j”最后去哪里了?
      matrix.append(random.randint(0, 1024))



纯小白,请大佬不吝赐教,谢谢


阿奇_o 发表于 2021-10-27 19:32:30

首先这些写法似乎"太过常见了",我们很少解释为什么,反正"就是这么写的"。。

嗯,我就回答其中一个问题吧:为什么创建空列表?
—— 首先,概念上,"列表"和"矩阵" 基本可以等同看待。
—— 其次,理解上,可以打个比喻,你吃饭通常要个 碗 —— 一个容器,列表就是典型的容器。
       你说,我用手抓饭,不也行吗? 当然可以呀,但显然效率不够高。。
—— 其三,"套娃",一个碗里还可以再放进来一个或多个碗。。
       这在数学上,通常称为"二维矩阵",其实就是"碗里还有碗",列表里还有列表,如 [ , ]

嗯,大概就这样吧~

姚老师 发表于 2021-10-27 22:38:28

阿奇_o 发表于 2021-10-27 19:32
首先这些写法似乎"太过常见了",我们很少解释为什么,反正"就是这么写的"。。

嗯,我就回答其中一个问题 ...

谢谢大佬,那个j感觉最后没用上啊?
页: [1]
查看完整版本: 列表5课后习题求解,关于创建随机二维矩阵