Генерация матрицы MXN из пользовательского ввода - PullRequest
0 голосов
/ 27 февраля 2020

Я новичок в python и пытаюсь выполнить некоторые упражнения, вводящие numpy. Я застрял в этом вопросе:

Создать функцию, которая принимает ?, ? ∈ ℕ в качестве входных данных и генерирует матрицу ? × ? (numpy .array) ? с записями a[i,j] = j*m + i, где 0 ≤ ? ≤ ? − 1 и 0 ≤ ? ≤? − 1

Я нашел способ сделать это более или менее без numpy, но любая помощь по этому вопросу будет принята.

1 Ответ

0 голосов
/ 28 февраля 2020

Я думаю, что лучшим способом было бы сначала создать массив с использованием генератора, а затем преобразовать его в numpy массив

// m, n = rows, cols
np.array([j*m + i for j in range(n) for i in range(m)]).reshape((m, n))

Однако это последовательность чисел вдоль строк, поэтому ее можно проще сделать как

np.array(range(m*n)).reshape((m, n))

Однако для этой библиотеки numpy также имеется встроенная функция arange

np.arange(m*n).reshape((m, n))

Надеюсь, это поможет.

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