By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
444,100 Members | 2,892 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 444,100 IT Pros & Developers. It's quick & easy.

memory allocation for Python list

P: n/a
hi all,
I have a python list of unknown length, that sequentially grows up via
adding single elements.
Each element has same size in memory (numpy.array of shape 1 x N, N is
known from the very beginning).
As I have mentioned, I don't know final length of the list, but
usually I know a good approximation, for example 400.

So, how can I optimize a code for the sake of calculations speedup?
Currently I just use

myList = []

for i in some_range:
...
myList.append(element)
...

Thank you in advance,
Dmitrey

Mar 26 '08 #1
Share this Question
Share on Google+
2 Replies


P: n/a
dmitrey:
As I have mentioned, I don't know final length of the list, but
usually I know a good approximation, for example 400.
There is no reserve()-like method, but this is a fast enough operation
you can do at the beginning:

l = [None] * 400

It may speed up your code, but the final resizing may kill your
performance anyway. You can try it. Just using Psyco is probably
better.

Bye,
bearophile
Mar 26 '08 #2

P: n/a
dmitrey:
As I have mentioned, I don't know final length of the list, but
usually I know a good approximation, for example 400.
You may want to use collections.deque too, it doesn't produce a Python
list, but it's quite fast in appending (it's a linked list of small
arrays).

Bye,
bearophile
Mar 26 '08 #3

This discussion thread is closed

Replies have been disabled for this discussion.