"Michael Morrissey" <[email protected]> wrote
a text file that looks like this:
1 the 126 name
2 of 127 very
Each has 2 numbers and 2 words on it. Each number is related to the word
that comes after it. So "1" and "the" are connected (kinda like a
dictionary), and "126" and "name" are related.
Using the above text file as an input, I'm trying to make an output that
lists all the words, one word per line, but none of the numbers. I was
hoping to get the words listed in order of their related numbers. So, the
I can open and loop over the text, I'm just not sure what commands I
should
use to parse each line. Can anyone give me suggestions or examples?
For this a simple split() command should give you a list of 4 items.
I suggest you store each pair in a tuple (num, word) and put the
tuples in a list.
You can then sort the list and the tuples will be in numeric order
(element 0).
Then iterate over the list printing the word (element 1 of the tuple)
In pseudo code:
words = []
for line in open(fname):
four = line.split()
words.append( (four[0],four[1]) )
words.append( (four[2],four[3]) )
for word in sorted(words):
print word[1]
You should probably be able to do the first for loop as a list
comprehension, but I can't think of how to get the split() call
embedded into it right now!
HTH,
--
Alan Gauld
Author of the Learn to Program web site
http://www.alan-g.me.uk/
_______________________________________________
Tutor maillist - [email protected]
http://mail.python.org/mailman/listinfo/tutor