python - 如何创建列表矩阵?
问题描述
我需要创建一个矩阵 MxN,其中矩阵的每个元素都是整数列表。我需要一个列表,以便我可以随时添加新元素,因此 3D 矩阵在这里不起作用。我不确定我在这里需要的是否实际上是一个列表列表。
解决方案
以下函数创建一个空列表的二维矩阵:
>>> def create(row,col):
... return [[[] for _ in range(col)] for _ in range(row)]
...
>>> L = create(2,3)
>>> L[1][2].extend([1,2,3]) # add multiple integers at a location
>>> for row in L:
... print(row)
...
[[], [], []]
[[], [], [1, 2, 3]]
>>> L[0][1].append(1) # add one more integer at a location
>>> for row in L:
... print(row)
...
[[], [1], []]
[[], [], [1, 2, 3]]
这个怎么运作:
[]
是一个空列表的新实例。[[] for _ in range(col)]
使用列表推导来创建“col”空列表的列表。[[] for _ in range(col)] for _ in range(row)
创建“列”空列表的“行”新列表。
推荐阅读
- c - C 战舰游戏链表 print_node 函数
- applescript - 如何通过 AppleScript 在 Illustrator 2020 中打开文件
- css - 为什么有时 Chrome 开发工具会显示 scss 文件而不是编译后的 css 文件?
- google-sheets - 使用 Importdata 拉另一个 googlesheet
- angular - 外部拦截器库/模块中的角度路由器
- android - Subcomponent.Builder -> 使用seedInstance绑定实例数据时的工厂
- regex - 仅在 sed 中用双引号之间的下划线替换逗号
- splunk - 水槽下沉到 Splunk?
- angular - Clarity Spinner Button 是否有防止从成功状态转换回默认状态的解决方法?
- c - Qt 静态库子模块构建