creating really big lists

Diez B. Roggisch deets at nospam.web.de
Wed Sep 5 06:22:04 EDT 2007


Paul Rudin wrote:

> Dr Mephesto <dnhkng at googlemail.com> writes:
> 
>> Hi!
>>
>> I would like to create a pretty big list of lists; a list 3,000,000
>> long, each entry containing 5 empty lists. My application will append
>> data each of the 5 sublists, so they will be of varying lengths (so no
>> arrays!).
>>
>> Does anyone know the most efficient way to do this? I have tried:
>>
>> list = [[[],[],[],[],[]] for _ in xrange(3000000)]
>>
>> but its not soooo fast. Is there a way to do this without looping?
> 
> You can do:
> 
>    [[[],[],[],[],[]]] * 3000000
> 
> although I don't know if it performs any better than what you already
> have.

You are aware that this is hugely different, because the nested lists are
references, not new instances? Thus the outcome is most probably (given the
gazillion of times people stumbled over this) not the desired one...

Diez



More information about the Python-list mailing list