所以这就是我试图做的。
vectorized = [0] * length
for i,key in enumerate(foo_dict.keys()):
vector = vectorized
vector[i] = 1
print vector
vector = vectorized
print vectorized
所以我希望例如长度为4。所以我创建
4维向量:
vectorized=[0,0,0,0]
现在,取决于字典的索引(在这种情况下,其长度也为4)
创建一个值为1的向量,其余为零
so vector = [1, 0,0,0] , [0,1,0,0] and so on..
现在,发生的事情是:
vector = [1,0,0,0],[1,1,0,0] .. and finally [1,1,1,1]
现在甚至是矢量化的
[1,1,1,1]
我在做什么错。以及我如何实现我想要实现的目标。
基本上,我正在尝试创建单位向量。
谢谢
最佳答案
这行(实际上是这些行):
vector = vectorized
复制列表引用。您需要对序列内容进行浅拷贝。
vector = vectorized[:]
关于python - 在python中复制列表: deep vs shallow copy: gotcha for me in python?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9935372/