Iterate through a dictionary of lists one "line" at a time
Arnaud Delobelle
arnodel at googlemail.com
Wed Apr 18 14:54:35 EDT 2007
More information about the Python-list mailing list
Wed Apr 18 14:54:35 EDT 2007
- Previous message (by thread): Iterate through a dictionary of lists one "line" at a time
- Next message (by thread): Iterate through a dictionary of lists one "line" at a time
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Apr 18, 7:39 pm, wswilson <wswil... at gmail.com> wrote: > Here is my code: > > listing = {'id': ['a', 'b', 'c'], 'name': ['Joe', 'Jane', 'Bob']} > > I need to output: > > id name > a Joe > b Jane > c Bob > > I could do: > > print 'id', 'name' > for id, name in zip(listing['id'], listing['name']): print id, name > > but that only works if there are two entries in the dictionary, id and > name, and I know what they are. My problem is I don't know how many of > these entries there will be. Thanks for any help you can give! You can use zip(*sequence_of_sequences) eg zip(*[[1,2,3],[4,5,6]) returns [[1,4], [2,5], [3,6]] (You can think of it as a transposition function) For example: keys, item_lists = zip(*listing.iteritems()) print " ".join(keys) for items in zip(*item_lists): print " ".join(items) would work. HTH -- Arnaud
- Previous message (by thread): Iterate through a dictionary of lists one "line" at a time
- Next message (by thread): Iterate through a dictionary of lists one "line" at a time
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list