首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于创建数组的Python代码(8x8,每个数组为3x3)

用于创建数组的Python代码(8x8,每个数组为3x3)
EN

Stack Overflow用户
提问于 2019-10-23 17:45:56
回答 1查看 840关注 0票数 0

我试图创建一个结构为8x8的数组数组,其中每个单元格都是一个3x3数组。我所创建的工作,但当我想要改变一个特定的价值,我需要访问它不同于我的预期。

代码语言:javascript
复制
import numpy as np
a = np.zeros((3,3))
b = np.array([[0,1,0],[1,1,1],[0,1,0]])
d = np.array([[b,a,b,a,b,a,b,a]])
e = np.array([[a,b,a,b,a,b,a,b]])
g = np.array([[d],[e],[d],[e],[d],[e],[d],[e]])

#Needed to change a specific cell 
#g[0][0][0][0][0][0] = x : [Row-x][0][0][Cell-x][row-x][cell-x]
#Not sure why I have to have the 2 0's between the Row-x and the Cell-x identifiers

在此之后,我将需要将每个值映射到一个24x24网格,其中1的颜色与0的颜色不同。如果有人能够提供实现这一目标的方向,我们将不胜感激。不是寻找特定的代码,而是了解如何实现它的基础。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-23 18:03:16

代码语言:javascript
复制
In [291]: a = np.zeros((3,3)) 
     ...: b = np.array([[0,1,0],[1,1,1],[0,1,0]]) 
     ...: d = np.array([[b,a,b,a,b,a,b,a]]) 
     ...: e = np.array([[a,b,a,b,a,b,a,b]]) 
     ...: g = np.array([[d],[e],[d],[e],[d],[e],[d],[e]])                       

In [292]: a.shape                                                               
Out[292]: (3, 3)
In [293]: b.shape                                                               
Out[293]: (3, 3)

d是4d -计算括号:[[....]]

代码语言:javascript
复制
In [294]: d.shape                                                               
Out[294]: (1, 8, 3, 3)
In [295]: e.shape                                                               
Out[295]: (1, 8, 3, 3)

g是(8,1)四个模糊元素,总共有6个。再次计算括号:

代码语言:javascript
复制
In [296]: g.shape                                                               
Out[296]: (8, 1, 1, 8, 3, 3)

访问2d子数组,在本例中等于b

代码语言:javascript
复制
In [298]: g[0,0,0,0,:,:]                                                        
Out[298]: 
array([[0., 1., 0.],
       [1., 1., 1.],
       [0., 1., 0.]])

重做,去掉多余的括号:

代码语言:javascript
复制
In [299]: a = np.zeros((3,3)) 
     ...: b = np.array([[0,1,0],[1,1,1],[0,1,0]]) 
     ...: d = np.array([b,a,b,a,b,a,b,a]) 
     ...: e = np.array([a,b,a,b,a,b,a,b]) 
     ...: g = np.array([d,e,d,e,d,e,d,e])                                       
In [300]: d.shape                                                               
Out[300]: (8, 3, 3)
In [301]: g.shape                                                               
Out[301]: (8, 8, 3, 3)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58528385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档