Hi, try defaultdict:
In [1]: from collections import defaultdict In [2]: d=defaultdict(list) In [3]: d[1].append(7) In [4]: d[1].append(8) In [5]: d Out[5]: defaultdict(<type 'list'>, {1: [7, 8]}) In [6]: d[1] Out[6]: [7, 8] Regards, wr Am Donnerstag 28 August 2008 19:02:55 schrieb Ron Brennan: > I have another question. > > How would like to be able to add the contents on the values for one key. > > key['20001']:[978, 345] > > How can I do this? > > Thanks, > Ron > > On Thu, Aug 28, 2008 at 11:56 AM, Bruno Desthuilliers > > <[EMAIL PROTECTED]> wrote: > > norseman a écrit : > >> Terry Reedy wrote: > >>> Ron Brennan wrote: > >>>> Hello, > >>>> How would I create a dictionary that contains multiple values for > >>>> one key. > >>> > >>> Make the value a collection object (set or list if you plan to add and > >>> delete). > >>> > >>> I'd also like the key to be able to have duplicate entries. > >>> > >>> > >>> Dict keys must be hashable and unique. > >>> > >>> tjr > >>> > >>> -- > >>> http://mail.python.org/mailman/listinfo/python-list > >>> > >>> ================ > >> > >> First part I understand, second is still giving me a problem. > >> > >> For some reason I still want keys to be dbf column headers. > >> like: > >> > >> name:address:zip so forth > >> ---- ------- --- ------------------ > >> guy: unknown:00000 > >> girl: 123 tiny street:12345 > >> boy:321 here:33333 > >> gal:999 over there: 55555 > >> so forth > >> > >> Thus one key has many values. And you can then index on whatever key(s) > >> you wish - name,zip... > > > > You can either use 1/ a list of dicts, or 2/ a dict mapping keys to > > lists. > > > > 1/ > > records = [ > > {"name":"guy", "address":"unknown","zip":"00000"}, > > {"name":"girl", "address":"123 tiny street","zip":"12345"}, > > {"name":"boy", "address":"321 here","zip":"33333"}, > > {"name":"gal", "address":"999 over there","zip":"55555"}, > > ] > > > > keys = ("name", "address", "zip") > > > > print ":".join(keys) > > print "-" * len(":".join(keys)) > > for record in records: > > data = [record[key] for key in keys] > > print ":".join(data) > > > > > > 2/ > > records = dict( > > name=["guy", "girl", "boy", "gal"], > > address=["unknown","123 tiny street","321 there","999 over there"], > > zip=["00000", "12345", "33333", "55555"] > > ) > > > > keys = ("name", "address", "zip") > > nb_records = len(records[keys[0]]) > > > > print ":".join(keys) > > print "-" * len(":".join(keys)) > > for i in xrange(nb_records): > > data = [data[key][i] for key in keys] > > print ":".join(data) > > > > > > You are of course entitled the right to prefer the second solution, but > > then I hope I'll never have to maintain your code, since it's obviously > > not an appropriate data structure. > > > > With billions plus records, > > > > > > With billions plus records, it may be time to move to a serious RDBMS. > > Which btw will provide solution 1, or a lighter version of it using a > > list of tuples, ie: > > > > cursor = connection.cursor() > > cursor.execute("select name, address, zip from peoples") > > records = cursor.fetchall() > > > > # at this time, you have : > > #records = [ > > # ("guy", "unknown","00000",), > > # ("girl", "123 tiny street","12345",), > > # ("boy", "321 here","33333",), > > # ("gal", "999 over there", "55555",), > > #] > > > > > > (snip) > > > > OK - I know I missed the whole concept of a Python Dictionary. > > > > > > Bad thing for you, since it's the central datastructure in Python. > > > > I haven't read anything as yet that gives a clear picture of what it is > > and > > > >> what it is for. > > > > Then you failed to read the FineManual's tutorial, which is where you > > should have started: > > > > http://docs.python.org/tut/node7.html#SECTION007500000000000000000 > > > > Do yourself a favour : read the above first, then if you still have > > questions about dicts, we'll gladly try to help. > > > > And do yourself another favour : learn about SQL, relational model and > > RDBMS. > > > > (snip description of why the OP *really* wants a RDBMS) > > > > -- > > http://mail.python.org/mailman/listinfo/python-list
-- http://mail.python.org/mailman/listinfo/python-list