【发布时间】:2020-04-07 18:04:43
【问题描述】:
我有两个 3D Numpy 数组
win_combination = np.array([
[[0, 0], [0, 1], [0, 2]],
[[1, 0], [1, 1], [1, 2]],
[[2, 0], [2, 1], [2, 2]],
[[0, 0], [1, 0], [2, 0]],
[[0, 1], [1, 1], [2, 1]],
[[0, 2], [1, 2], [2, 2]],
[[0, 0], [1, 1], [2, 2]],
[[0, 2], [1, 1], [2, 0]]
])
和,
game_log = np.array([[1 1],[0 2],[1 0]])
我想比较一下 game_log 数据是否匹配 win_combination 中的任何数组,如果匹配,则可能打印 True,否则打印 False。
基本上我希望如果 game_log == [[0, 0],[0, 1],[0, 2]] 它可能会打印 True 如果不是,那么我的代码应该比较另一个数组 game_log == [ [1, 0], [1, 1], [1, 2]] 如果不是,那么 #another 等等直到最后,如果没有与 game_log 匹配的数组,则打印 false,在这种情况下,它应该打印 False
我试过了,
for comb in win_combination:
if game_log == comb:
print(True)
else:
print(False)
【问题讨论】:
-
你尝试的时候发生了什么?您的实际问题是什么?
-
您没有两个 3D 数组。你有一个 2D 和一个 3D
-
取消缩进
else。如果第一个元素不匹配,您不一定要返回False。
标签: python python-3.x numpy