来自创建列表错误的np.savetxt

时间:2013-02-24 02:10:39

标签: numpy python-2.7

考虑代码:

dd21 = []

a = [1, 2, 3, 4]

for i in range(len(a)):

   for j in range(i+1, len(a)):

       dd21.append(a[i]-a[j])
       r = (a[i] -a[j])
       j = j + 1
       data1=np.column_stack((i,j,r))
       np.savetxt('lol.dat', data1)
       print i, j, r

输出:

  0 2 -1

  0 3 -2

  0 4 -3

  1 3 -1

  1 4 -2

  2 4 -1 

为什么在我尝试将其保存在lol.dat txt文件中时,我看不到相同的列表?

1 个答案:

答案 0 :(得分:1)

要将多个数组保存到一个文件中,您可以先打开文件,然后使用文件对象调用np.savetxt()

dd21 = []

a = [1, 2, 3, 4]

with open("lol.dat", "w") as f:
    for i in range(len(a)):
       for j in range(i+1, len(a)):
           dd21.append(a[i]-a[j])
           r = (a[i] -a[j])
           j = j + 1
           data1=np.column_stack((i,j,r))
           np.savetxt(f, data1)
           print i, j, r

或者,您可以将所有数组连接成一个大数组,并将其保存到文件中。