tyleax
tyleax

Reputation: 1780

How does OrderedDict keep things in Order in Python

I'm curious as to how OrderedDict from the collections library keeps key/pair order? I looked around online and couldn't find an answer.

Upvotes: 6

Views: 1089

Answers (1)

internet_user
internet_user

Reputation: 3279

From the source code, it appears to be implemented as a dict with a doubly linked list of keys for ordering, as well as another dict that maps keys to their position in the list.

  • Insertion just adds to the end of the list.
  • Deletion uses the second dict to remove an element from the list.
  • Iteration iterates over the linked list.

Upvotes: 8

Related Questions