在给定的numpy矩阵中查找等于零的元素的索引

问题描述 投票:0回答:1

我正在尝试将numpy用作tictactoe游戏问题的一部分,在3 * 3整数矩阵中查找非零元素的索引。我意识到np.where是这种情况的一个不错的选择,并对其进行了尝试,我得到的输出看起来仍然不正确。你能帮我编码这部分吗?我在下面给出了我的部分代码。

input:s,尺寸为3 * 3的整数矩阵例如:

输出:m,可能的下一动作的列表,其中每个下一动作是一个(r,c)元组,其中r表示行号,c表示列号。

示例:

[代码]

m = np.where(s==0)
list numpy matrix tuples
1个回答
1
投票

这里是一个快速的解决方案:

import numpy as np

s = np.matrix('0, 0, 0; 0, 1, 0; 0, 0, 0')

m = np.where(s==0)
m = list(zip(m[0], m[1]))

print(m)

s是输入矩阵,您可以看到中间的正方形,然后像您一样使用np.where(),它产生两个数组,然后使用zip()将它们组合成元组和[ C0],将输出转换为有效动作的元组列表。

© www.soinside.com 2019 - 2024. All rights reserved.