bei wrote: > Hi, > > I am trying to write several arrays into one file, with one arrays in > one column. Each array (column) is seperated by space. > ie. a=[1,2,3, 4] b=[5,6,7,8] c=[9,10,11,12] > 1 5 9 > 2 6 10 > 3 7 11 > 4 8 12 > > Now I use the function file.writelines(a), file.writelines(b), > file.writelines(c). And the output is a sequence of strings without > newlines between a, b ,c . Also each array stays in row other than > column. > > I am a new comer to python.Any idea about this is appreciated! > > Bei
Hi Bei, file.writelines() works with lists of strings, not lists of numbers, so I'm going to assume that a, b, and c are already lists of strings.. You can use the zip() function to change the lists in the way you want to: |>> a=['1','2','3','4']; b=['5','6','7','8']; c=['9','10','11','12'] |>> zip(a, b, c) [('1', '5', '9'), ('2', '6', '10'), ('3', '7', '11'), ('4', '8', '12')] now that you have the data for each line, you can combine them with the string join() method: |>> data = zip(a, b, c) |>> for datum in data: ... print ' '.join(datum) ... 1 5 9 2 6 10 3 7 11 4 8 12 You can print to an open file object, so the above loop will do what you need: |>> f = open('output.txt', 'w') |>> for datum in data: ... print >> f, ' '.join(datum) ... |>> f.close() |>> print open('output.txt').read() 1 5 9 2 6 10 3 7 11 4 8 12 I hope that helps! Peace, ~Simon -- http://mail.python.org/mailman/listinfo/python-list