storing large amounts of data in a list/dictionary

F

flamesrock

Hi,

Basically, what I'm trying to do is store large amounts of data in a
list or dictionary and then convert that to a custom formatted xml
file.

My list looks roughly like this:
(d[],r[c[d[p[],p[R,C,I]]]])

My question is, would it be faster to use a dictionary if the elements
of the lists have to be put in alphebetical order, or just use lists as
above(since hashes are faster supposedly)?

{d;d[],r;name[{d;d[{p;p[]}],c;name[{d;d[{p;p[]}]}]}]}

Please consider the amount of code necessary to create/decode this

(and sorry if this doesn't make any sense..)

-thanks
 
B

Bruno Desthuilliers

flamesrock a écrit :
Hi,

Basically, what I'm trying to do is store large amounts of data in a
list or dictionary and then convert that to a custom formatted xml
file.

My list looks roughly like this:
(d[],r[c[d[p[],p[R,C,I]]]])

My question is, would it be faster to use a dictionary if the elements
of the lists have to be put in alphebetical order,
....
a
z
e
f

Well... Just *don't* rely on *any* order with dicts.

If you need fast keyed access to a very large dataset, you may want to
have a look at btrees (one possible implementation here :
http://zopewiki.org/BTree).

Now since it's XML related, this may also (or not) be useful:
http://effbot.org/zone/celementtree.htm
http://effbot.org/zone/element-index.htm

HTH
Bruno
 
F

flamesrock

Thanks for the reply ;)

I was hoping not to complicate things with zope, tho Btrees look
interesting.

Oh - and about the xml, I'm using something very similar to elementree
which I found in the python cookbook:
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/157358

Bruno said:
flamesrock a écrit :
Hi,

Basically, what I'm trying to do is store large amounts of data in a
list or dictionary and then convert that to a custom formatted xml
file.

My list looks roughly like this:
(d[],r[c[d[p[],p[R,C,I]]]])

My question is, would it be faster to use a dictionary if the elements
of the lists have to be put in alphebetical order,
d = {"e" : 32, "f": 44, "a" : 1, "z" : 99}
for k in d: print k
...
a
z
e
f

Well... Just *don't* rely on *any* order with dicts.

If you need fast keyed access to a very large dataset, you may want to
have a look at btrees (one possible implementation here :
http://zopewiki.org/BTree).

Now since it's XML related, this may also (or not) be useful:
http://effbot.org/zone/celementtree.htm
http://effbot.org/zone/element-index.htm

HTH
Bruno
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,995
Messages
2,570,236
Members
46,823
Latest member
Nadia88

Latest Threads

Top