On 28/09/11 04:34, lina wrote:
File 1 is:
3 C 1 CUR C19 1 0.200 12.0110
4 CR1 1 CUR C20 1 -0.060 12.0110
5 HC 1 CUR H20 1 0.060 1.0080
File 2 is:
ATOM 2 H20 CUR 1 30.338 28.778 -6.812 1.00 0.00
ATOM 4 C20 CUR 1 31.394 28.922 -7.039 1.00 0.00
ATOM 5 C19 CUR 1 31.790 29.357 -8.323 1.00 0.00
I wish to get:
ATOM 5 C19 CUR 1 31.790 29.357 -8.323 1.00 0.00
ATOM 4 C20 CUR 1 31.394 28.922 -7.039 1.00 0.00
ATOM 2 H20 CUR 1 30.338 28.778 -6.812 1.00 0.00
The dictionary is C19 C20 H20 sequence read from file 1 field 5.
rearrange the file 2 field 3 following the sequence of C19, C20, H20.
OK, so just to confirm: you want to sort file 2 based on the order of
field 5 in file 1.
So read file2 into a dictionary keyed by field 3
Then read file 1 and output the dictionary entry associated with field 5
So in pseudo code:
d = dict()
for line in file1:
d[ line.split()[2] ] = line
for line in file1:
print d[ line.split()[4] ]
Is that what you want?
--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor