Efficiently building ordered dict

Bryan bryanvick at gmail.com
Mon Feb 22 18:28:22 CET 2010

On Feb 22, 9:19 am, MRAB <pyt... at mrabarnett.plus.com> wrote:
> 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.

Could you write some pseudo-code for that?  I'm not sure how I would
add the items to the OrderedDict while looping through the list.
Wouldn't the list need to be sorted first (which in this case isn't

More information about the Python-list mailing list