问题描述
我是 Python 和编程的新手,正在尝试了解通常如何处理具有内部关系的数组。我尝试使用二维和三维列表制作乘法表并得到了这个(对于最多 4 的乘法表):
n = 4
a = [x for x in range(1,n+1)]
b = [x for x in range(1,n+1)]
mp_table = []
for i in a:
c = []
for j in b:
c.append(i*j)
mp_table.append(c)
print(mp_table)
这将按预期输出 [[1,2,3,4],[2,4,6,8],[3,9,12],[4,8,12,16]]。
此代码在三个维度上有效:
n = 4
a = [x for x in range(1,n+1)]
mp_table = []
for i in a:
c = []
for j in b:
c.append([i*j*t for t in range(1,n+1)])
mp_table.append(c)
print(mp_table)
输出:
[[[1,16]],[[2,16],[6,18,24],[8,16,24,32]],[[3,[9,27,36],[12,36,48]],[[4,32],48],[16,32,48,64]]]
但是,我还没有找到在 NumPy 中做同样事情的方法。我也不确定如何概括,以便可以输入输出的维度,而不必嵌套列表理解。有没有更简单/更好的方法来用 Python 中的函数生成多维数组?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)