返回信息流想问一下如何用python生成如下的数组
这是一条镜像帖。来源:北邮人论坛 / python / #19378同步于 2017/9/25
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
【问题】如何生成多维数组
WMN7777777
2017/9/25镜像同步9 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
多维数组就是数组的数组,我记得
```python
matrix = [[] for i in range(10)]
```
类似这样就能初始化出来。
顺便,花括号可能是想表达集合不是数组?
这样只有一个变量,想生成高维的应该怎么办。比如我上面例子里有i和j
【 在 raaay0608 的大作中提到: 】
: 多维数组就是数组的数组,我记得
: [md]
: ```python
: ...................
a=[[i,j] for i in range(3) for j in range(3)]
print(a)
[[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
```
m, n = 10, 20
none_matrix = [[None for i in range(m)] for j in range(n)]
zero_matrix = [[0 for i in range(m)] for j in range(n)]
```
初始化m*n的二维数组,分别以`None`或者`0`填充
大面积搞数据可以考虑看看numpy
【 在 WMN7777777 的大作中提到: 】
: 这样只有一个变量,想生成高维的应该怎么办。比如我上面例子里有i和j
谢谢,新学到了,之前没看见有这么用过的
【 在 zxc30 的大作中提到: 】
: a=[[i,j] for i in range(3) for j in range(3)]
: print(a)
: [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
或者使用itertools:
from itertools import product, starmap
list(product(range(3),range(4)))
list(starmap(lambda i,j:i*j, product(range(3),range(4))))
不过第二个好像已经不怎么Pythonic了