Efficiently building ordered dict

MRAB python at mrabarnett.plus.com
Mon Feb 22 12:19:14 EST 2010


Bryan wrote:
> I am looping through a list and creating a regular dictionary.  From
> that dict, I create an ordered dict.  I can't think of a way to build
> the ordered dict while going through the original loop.  Is there a
> way I can avoid creating the first unordered dict just to get the
> ordered dict?  Also, I am using pop(k) to retrieve the values from the
> unordered dict while building the ordered one because I figure that as
> the values are removed from the unordered dict, the lookups will
> become faster.  Is there a better idiom that the code below to create
> an ordered dict from an unordered list?
> 
Why are you building a dict from a list and then an ordered dict from
that? Just build the ordered dict from the list, because it's behaves
like a dict, except for remembering the order in which the keys were
added.



More information about the Python-list mailing list