I like the idea of using a dictionary as a solution to the problem. 

The reason you are not seeing the nested loop run twice is because of the 
following:

>>> fd = file("C:\\defragreport.txt")
>>> fd.readlines()
['11/29/2005\n', '\n', '10:32:32 PM\n', '\n', 'Drive C: Defrag completed 
successfully\n', '\n']
>>> fd.readlines()
[]
>>>

When you call "readlines()" on the open file, it reads the contents of the 
complete file. Calling it again returns an empty list. You would have to 
open/read/close the file in each pass. Thus, the dictionary solution saves you 
from doing this.

Mike

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:pythondotnet-
> [EMAIL PROTECTED] On Behalf Of Thane
> Sent: Wednesday, November 30, 2005 2:51 PM
> To: 'W G'; pythondotnet@python.org
> Subject: Re: [Python.NET] Nested Loops
> 
> Read in the first file and create a dictionary (hash) of each line.
> Read in the second file and for each line see if the dictionary contains
> the
> item.  This solution minimizes your I/O.
> 
> Python 2.4b1 (#57, Oct 15 2004, 15:23:38) [MSC v.1310 32 bit (Intel)] on
> win32
> Type "help", "copyright", "credits" or "license" for more information.
> >>> refsymbol = [1,2,3,4]
> >>> refdict = dict()
> >>> for sym  in refsymbol:
> ...   refdict[sym] = sym
> ...
> >>> refdict
> {'a': 'a', 'c': 'c', 'b': 'b', 'd': 'd'}
> >>> showme = ['d','e','f']
> >>> for s in showme:
> ...   if refdict.has_key(s):
> ...           print s
> ...
> d
> >>>
> 
> > -----Original Message-----
> > From: [EMAIL PROTECTED] [mailto:pythondotnet-
> > [EMAIL PROTECTED] On Behalf Of W G
> > Sent: Tuesday, November 29, 2005 2:53 PM
> > To: pythondotnet@python.org
> > Subject: [Python.NET] Nested Loops
> >
> > Hello,
> >
> > The follow code willl read lines of two text files. It supposed to take
> > the
> > first line of the first text file and compare it to all the lines of the
> > second text file, then go to the next line of the first text file and do
> > the
> > same and so on.
> >
> > The problem is that once the inner loop is finished, it never goes in
> that
> > loop again. Any suggestions?
> >
> > Thank you,
> > Wes
> >
> >
> > The Code:
> >
> >
> > for refSymbol in symbols.readlines():
> >     for lookupSymbol in myfile.readlines():
> >         showme = lookupSymbol.split('\t')
> >         if showme[3] == refSymbol.strip():
> >             priceNew.write(refSymbol.strip()+" "+showme[10])
> >
> >
> > _________________________________________________
> > Python.NET mailing list - PythonDotNet@python.org
> > http://mail.python.org/mailman/listinfo/pythondotnet
> 
> _________________________________________________
> Python.NET mailing list - PythonDotNet@python.org
> http://mail.python.org/mailman/listinfo/pythondotnet


_________________________________________________
Python.NET mailing list - PythonDotNet@python.org
http://mail.python.org/mailman/listinfo/pythondotnet

Reply via email to