python创建一维数组存放10个数_(Python3)在python数组上存储10x10游戏地图

因此,根据您当前的问题内容,​​我们无法确定您的总体最终目标是什么。我假设您希望在Python中表示n x n矩阵,并且在那里有某种数字,我将开始工作。我将使用数字13填充此矩阵,您可以根据需要进行更改。

矩阵基本上是行和列,类似这样

13 13 13

13 13 13

13 13 13

这是一个3x3矩阵,有3行3列。

我可以用一组集合(列表列表,元组元组,元组列表等)来表示矩阵,其中每个内部集合代表一行。

我不打算使用你想要的大小的矩阵,因为你需要能够弄明白,我会选择5x5。

这是5x5矩阵在Python列表术语中的样子

[[13, 13, 13, 13, 13], [13, 13, 13, 13, 13], [13, 13, 13, 13, 13], [13, 13, 13, 13, 13], [13, 13, 13, 13, 13]]

要做到这一点,我可以做一些更短的事情

[[13 for column in range(5)] for row in range(5)]

现在,你想要一个矩阵,集合的集合可能有点不必要和缓慢,让我们尝试在Python中使用这个名为numpy的库。您必须从源代码,Python代码或pip或其他工具安装它,查找它。

我们说我有旧的列表集,现在我不想使用它,因为它不必要,看起来有点混乱。我必须用我自己的代码编写它作为矩阵正确地打印出来,对它进行矩阵运算等等。为什么不使用那些包装它的东西,比如numpy matrix?

import numpy as np

matrix_of_13s = np.matrix([[13 for column in range(5)] for row in range(5)]])

让我们说我需要访问第3行和第4列的元素。在我的集合集合中,这意味着我需要获得第三行,然后是第四行。这转化为

collection_of_13s[3][4]

如果我想要浏览所有元素,我会使用@thekingofkings'回答,当然除了这种情况下有5行和5列。

for row in range(5):

for column in range(5):

print(collection_of_13s[row][column])

现在虽然这有效,但这不是我想要的。我真正想要的是一个13s的网格与我的尺寸。因此,为什么不使用像这样的numpy矩阵?

matrix_of_13s = np.matrix(collection_of_13s)

for element in np.nditer(matrix_of_13s):

print(element)

将按行的顺序从左到右遍历矩阵中的每个元素。

您还会注意到,随着项目规模的扩大,numpy会更高效,更易于使用for a reason。

我还想提一个选项,它是一个超级简单的概念,你不需要任何集合或numpy集合。只需使用一维数组来表示您的网格。这个概念实际上用于图像的主成分分析,但这是无关的。

基本上,13s的网格只是一个普通的列表

[13, 13, 13, 13, 13, 13, 13, 13, 13]

任何元素的新索引都是(column +1)*(row)。有一个数学证明和解释,但我现在不想找到它大声笑。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值