Питон Матрикс без NumPy - PullRequest
       6

Питон Матрикс без NumPy

0 голосов
/ 20 октября 2019

matrix = [1,2,3], [4,5,6], [1,0,9]

найти индекс (столбец, строка) самого большого элемента в матрице. Я не могу использовать NumPy. max () не покажет правильное местоположение. Есть мысли о том, как это сделать? Я искал ответ где угодно. Edit: max () идентифицирует только самый большой список, который в этом случае будет 1. Он не будет сравнивать элементы каждого списка, чтобы найти самый большой элемент

1 Ответ

0 голосов
/ 20 октября 2019

вы определенно можете использовать numpy для этого ..

matrix = np.array([[1,2,3],[4,5,6],[1,0,9]])
print(matrix.max())

output:

9 #this is the max element in the array

, чтобы найти индекс (строка, столбец) элемента max, используйте это:

loc = np.where(matrix == matrix.max())
print(loc)

вывод:

(array([2]), array([2]))

print(matrix[loc])

вывод:

[9]

если на самом деле вы вообще не хотите использовать np ... вы можете сделать это:

x = matrix[0][0]
id = [0,0]
for i in range(len(matrix)):
    for j in range(len(matrix[0])):
        if matrix[i][j] > x:
            x = matrix[i][j]
            id = [i,j]

print(id)
[2,2]

i относится к i-му списку в матрице, j относится к j-му элементу в i-м списке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...