Вот мой код:
import numpy as np
OPEN = np.full((10, 2), np.inf)
CLOSED = np.zeros_like(OPEN, dtype = np.int)
OPEN[0][0] = 0.0
OPEN[0][1] = 1.0
OPEN[1][0] = 1.0
CLOSED[0][0] = 1
print("OPEN:")
print(OPEN)
print("")
print("CLOSED:")
print(CLOSED)
print("-------")
# Some magic here:
# Expected output:
print("Expected Output:")
print("[1, 0] or [0, 1]")
print("-------")
# Useful function - find the minimum value in an array:
min_in_OPEN = np.unravel_index(OPEN.argmin(), OPEN.shape)
min_in_OPEN = [min_in_OPEN[0],
min_in_OPEN[1]] # just foe better representation
print("Current Output:")
print(min_in_OPEN)
И это вывод кода:
OPEN:
[[ 0. 1.]
[ 1. inf]
[inf inf]
[inf inf]
[inf inf]
[inf inf]
[inf inf]
[inf inf]
[inf inf]
[inf inf]]
CLOSED:
[[1 0]
[0 0]
[0 0]
[0 0]
[0 0]
[0 0]
[0 0]
[0 0]
[0 0]
[0 0]]
-------
Expected Output:
[1, 0] or [0, 1]
-------
Current Output:
[0, 0]
Как объясняется кодом, мне нужно получить индексы минимального значения в массиве «ОТКРЫТО», где те же индексы, что и в списке ЗАКРЫТО, указывают на «0», а не «1»
Значения в списке ОТКРЫТО не могут быть изменены на другие значения / типы данных, но значения в списке ЗАКРЫТО - могут. Например, список CLSOED тоже может выглядеть так:
[[ True False]
[False False]
[False False]
[False False]
[False False]
[False False]
[False False]
[False False]
[False False]
[False False]]