Python Numpy字典映射导入?

Python Numpy字典映射导入?,python,map,numpy,2d,tile,Python,Map,Numpy,2d,Tile,因此,我想尝试使用numpy数组导入二维地图文件,以在网格上显示图形分幅。比如说,我有一扇窗户可以放5x10块瓷砖。我可以让'1'代表字典中的某个PNG图块,但我如何在字典中导入包含其他数字甚至$1、%或@ect等符号的地图文件,而不仅仅是所有的1 >>> numpy.ones((10,5)) array([[ 1., 1., 1., 1., 1.], [ 1., 1., 1., 1., 1.], [ 1., 1., 1., 1

因此,我想尝试使用numpy数组导入二维地图文件,以在网格上显示图形分幅。比如说,我有一扇窗户可以放5x10块瓷砖。我可以让'1'代表字典中的某个PNG图块,但我如何在字典中导入包含其他数字甚至$1、%或@ect等符号的地图文件,而不仅仅是所有的1

>>> numpy.ones((10,5))
array([[ 1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.]])
>>>

如果您想要通过平铺一组较小的图像来创建一个较大的图像,那么您应该使用Python图像库(PIL)

此外,假设您希望将文件名放入数组中,从而创建字符串数组而不是字符串数组,您可以这样循环:

for row in xrange(a.shape[0]):
    for column in xrange(a.shape[1]):
        final_image.paste(tiledict[a[row, column]], row*tilesize, column*tilesize)
在上面的代码中,
final_image
将是一个大型的
pil.image
对象,您可以在其中粘贴每个磁贴,
tiledict
是从中获取这些图像的字典


希望这有帮助

“映射文件”的格式是什么?它只是一个键数组。就像上面的1:cool.png,2:other.png一样。问题是我怎样才能组成自己的数组,而不仅仅是1。