preallocate list

Jim jbo at cannedham.ee.ed.ac.uk
Wed Apr 13 09:28:51 EDT 2005


Thanks for the suggestions. I guess I must ensure that this is my bottle 
neck.
<code>
     def readFactorsIntoList(self,filename,numberLoads):
	factors = []
         f = open(self.basedir + filename,'r')
         line = f.readline()
         tokens = line.split()
         columns = len(tokens)
         if int(columns) == number:
             for line in f:
                 factor = []
                 tokens = line.split()
                 for i in tokens:
                     factor.append(float(i))
                 factors.append(loadFactor)
         else:
             for line  in f:
                 tokens = line.split()
                 factors.append([float(tokens[0])] * number)
	return factors
</code>

OK. I've just tried with 4 lines and the code works. With 11000 lines it 
uses all CPU for at least 30 secs. There must be a better way.

Jim



More information about the Python-list mailing list