[EMAIL PROTECTED] wrote: > viewcharts wrote: > >>I am reading two text files comparing the values in one to the other, >>this requires two loops. The problem is that when the inner loop is >>finished, it never goes back into the loop. Any suggestions? >> >> >>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]) > > As another poster said, you have "used up" the inner iterable in the > first round, it is an iterable, just not like a list where you can use > multiple times. > The result of the readlines() function *is* a list, which is precisely why it's been used up:
>>> f = file("mail.py") >>> type(f.readlines()) <type 'list'> >>> A second call to readlines just gets an empty list, since there are no more lines left to be read. > Either turn it into a list(so you can reuse it) or better yet, turn it > into a dict which would speed up the matching process. Either way, it > better be done outside of the outer loop. > The solution, as already proposed, is to bind the list of lines to a nanme so it can be reused. regards Steve -- Steve Holden +44 150 684 7255 +1 800 494 3119 Holden Web LLC www.holdenweb.com PyCon TX 2006 www.python.org/pycon/ -- http://mail.python.org/mailman/listinfo/python-list