我正在尝试制作一个产生如下矩阵的函数:
[[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]
(但随后有 40 行 40 个数字而不是 4*4)
我现在拥有的是:
def create_weights_hid_con():
weights_list = []
weight_vector = []
for i in range(0, 40):
weight_vector.append(0.0)
for i in range(0, 40):
weights_list.append(weight_vector)
for i in range(0, len(weights_list)):
weights_list[i][i] = 1.0
return weights_list
我以为这样可以:
weights_list[0][0] = 1.0
weights_list[1][1] = 1.0
weights_list[2][2] = 1.0
etc.
但相反,它也完成了介于两者之间的所有事情,从而产生了如下矩阵:
[[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]]
所以我的问题是:我能做些什么来让它只改变第一个和第二个索引相同的数字?(例如,改变 weights_list[0][0],但不要改变 weights_list[0][1])。