所以这就是我试图做的。

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/

10-12 21:24