我有一个 2D numpy 数组visrec
。如果我做
print visrec[0,:]
我得到这个输出:
[ a1 a2 a3 a4 a5 a6]
a1, a2,..
在哪里dtype=float64
更清楚的是,对象visrec
中存储的是一个 1x6 矩阵。numpy.array
它最初是使用以下命令创建的:
visrec=numpy.array(numpy.zeros((1,6)))
在一个循环中,我正在visrec
修改修改记录并将其存储在一个列表中。我基本上将每个修改附加到列表中rec_history=[]
。我使用这个命令:
rec_history.append(visrec[0,:])
然后,为了测试它,我只想rec_history
用这个命令打印第一个元素:
print rec_history[0]
输出格式如下:
[ a1 a2 a3 a4 a5 a6]
到这里一切都如我所料。但是,如果我尝试打印 的多个元素rec_history
,我会得到一个意外的输出。我发出这个命令:
print rec_history[0:3]
并获得以下输出:
[array([ a1, a2, a3, a4, a5 ,
a6]), array([ b1, b2, b3,
b4, b5, b6]), array([ c1, c2, c3,
c4, c5, c6])]
这是正常的吗?我实际上是否将数组对象存储在我的记录列表中。如果是这种情况,如果我只打印列表的一个元素,为什么我没有得到不同类型的输出?这与功能有关print
吗?我不想存储数组对象,我想将数字列表存储在记录列表中。我怎样才能做到这一点?我知道matlab,但我想这对我没有帮助。