import random as rand
weights = np.zeros((3, 4))
print(weights, end = "\n\n")
for i in weights:
for j in i:
j = rand.randint(1, 10)
print(weights)
Итак, я поигрался с numpy и решил создать 2D-массив, заполненный нулями. Затем я хотел изменить значения элементов в массиве на случайные числа от 1 до 10. Используя приведенный выше код, 2D-массив не изменяется и остается заполненным нулями. Почему python ведет себя так, когда дело доходит до массивов?
Чтобы получить желаемый результат, мне пришлось сделать следующее:
import numpy as np
import random as rand
weights = np.zeros((3, 4))
print(weights, end = "\n\n")
for i in range(len(weights)):
for j in range(len(weights[i])):
weights[i][j] = rand.randint(1, 9)
print(weights)
Есть ли лучший способ сделать это так что мне не нужно прибегать к использованию range()
и len()
?