Лучше всего использовать словарь:
list = ['a', 'b' , 'c', 'd' , 'e']
mydict = {}
for i in list:
mydict[i] = np.zeros([10,1])
>>>mydict['a']
array([[ 0.],
[ 0.],
[ 0.],
[ 0.],
[ 0.],
[ 0.],
[ 0.],
[ 0.],
[ 0.],
[ 0.]])
С вашим предыдущим утверждением: i = np.zeros([10,1])
вы просто переназначали значение i
массиву numpy и фактически не присваивали массив «переменной», как показано ниже:
list = ['a', 'b' , 'c', 'd' , 'e']
mydict = {}
for i in list:
i= np.zeros([10,1])
print i
[[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]]