Thanks everyone, was able to get what I wanted from '/t' but I'm sure the other formatting options will be useful in future.
@Peter
a = [[]] * 3
>>>  a
[[], [], []]

>>>  a[0].append(42)
>>>  a
[[42], [42], [42]]


you had me worried for a minute, but
a = [[]] * 3
a[0]=[1,2,3]
a
[[1, 2, 3], [], []]

On 02/22/2012 01:40 PM, Evert Rol wrote:
Hi,
I have created a list of containing strings that represent distances between 
many different points and would like to display the results in a table.
I have been trying to write them to a text file but it is difficult to organise 
them into rows and columns with appropriate spacing to make it readable. I 
would like something like,

Stations   Station1         Station2
Station1       0.0            33.57654
Station2      33.57654       0.0

but get,

Stations Station1 Station2
Station1 0.0 33.57654
Station2 33.57654 0.0

I've tried adding spaces but to some of the values (i.e. '0.0            ') but 
this is very messy.
Is there a better way to do this?? My code is below.
This is always a tricky thing to go about. Nicely human-readable doesn't imply 
nicely machine readable. Sometimes a single space or a single tab between 
values/columns is more practical for a(nother) program to read, but not for 
humans.
So I will work from the assummption that you want it human-readable only.
In that case, have a careful read through the string formatting options: 
http://docs.python.org/library/stdtypes.html#string-formatting
Before the two tables there, there's a point 4 which mention a minimum field 
width; that'd be something you could use. Eg:
print "|%20d|" % 10
|                  10|
print "|%20.5f|" % 12.3456789
|            12.34568|
Hopefully that gets you on the way.

Cheers,

   Evert



Thanks
D


# Distance between stations

from dist import dist
import matplotlib.pyplot as plt
import numpy as np


# Guralp GPS decimal coordinates.
# station = [lat, lon, alt]
UFAN = [55.2333142, -7.6770179, 78.3]
UCRUI = [54.9846137, -8.3771698, 75.8]
UGLEN = [54.7064869, -8.7406732, 42.4]
UEASK = [54.2894659, -8.9583439, 9.1]
UACH = [53.8758499, -9.9621948, 22.0]
ULET = [53.5519317, -9.9413447, 70.4]
UHAG = [52.9393892, -9.4344939, 22.7]
ULOOP = [52.5809163, -9.8456417, 10.4]
UBALF = [52.1625237, -10.4099873, 74.3]
ULAMB = [51.7653115, -10.1531573, 13.5]
USHE = [51.5536226, -9.7907148, 115.3]
UGALL = [51.529665, -8.9529546, 33.4]

names = ['UFAN', 'UCRUI', 'UGLEN', 'UEASK', 'UACH', 'ULET', 'UHAG', 'ULOOP', 
'UBALF', 'ULAMB', 'USHE', 'UGALL']
stations = [UFAN, UCRUI, UGLEN, UEASK, UACH, ULET, UHAG, ULOOP, UBALF, ULAMB, 
USHE, UGALL]

distance = [[]]*len(stations)


for i in range(0,len(stations)):
    #distance[i,0] = names[i]
    temp = []
    for j in range(0,len(stations)):
        temp.append(' 
'+str(dist(stations[i][0],stations[i][1],stations[j][0],stations[j][1])))
    distance[i] = temp

testFile = open('testFile.txt', 'a')
testFile.write('Stations       ')

for i in range(0,len(stations)):
    testFile.write(names[i]+'        ')
testFile.write('\n')

for i in range(0,len(stations)):
    testFile.write(names[i]+'      ')
    for j in range(0,len(stations)):
        testFile.write(distance[i][j]+'     ')
    testFile.write('\n')
testFile.close()
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to