[Numpy-discussion] array constructor from generators?

Christopher Barker Chris.Barker at noaa.gov
Wed Apr 5 12:07:10 CDT 2006


Zachary Pincus wrote:
> I often construct arrays from list comprehensions on generators,

 > numpy.array([map(float, line.split()) for line in file])

I know there are other uses, and this was just an example, but you can 
now do:

numpy.fromfile(file, dtype=numpy.Float, sep="\t")

Which is much faster and cleaner, if you ask me. Thanks for adding this, 
Travis!


Tim Hochberg wrote:
> Without this, you probably can't do much 
> better than just building a list from the array. What would work well 
> would be to build a list, then steal its memory. 

Perhaps another option is to borrow the machinery from fromfile (see 
above), that builds an array without knowing how big it is when it 
starts. I haven't looked at the code, but I know that Travis got at 
least the idea, if not the method, from my FileScanner module I wrote a 
while back, and that dynamically allocated the memory it needed as it grew.

-Chris


-- 
Christopher Barker, Ph.D.
Oceanographer
                                     		
NOAA/OR&R/HAZMAT         (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception

Chris.Barker at noaa.gov




More information about the Numpy-discussion mailing list