Cover Image for OrderedDict in Python
145 views

OrderedDict in Python

The OrderedDict is a data structure available in Python’s collections module that extends the functionality of a regular dictionary (dict) by maintaining the order of key-value pairs. In Python 3.7 and later, the built-in dict type also maintains order, but in earlier versions, OrderedDict was used to achieve this.

OrderedDict is useful when you need to preserve the order of items in a dictionary, which can be important in scenarios like configuration parsing, where the order of keys might be significant. Here’s how to use OrderedDict in Python:

  1. Import OrderedDict: Start by importing OrderedDict from the collections module:
   from collections import OrderedDict
  1. Create an OrderedDict: You can create an OrderedDict just like you would create a regular dictionary, using key-value pairs or an iterable of key-value pairs. The order of insertion is preserved:
   ordered_dict = OrderedDict()
   ordered_dict['a'] = 1
   ordered_dict['b'] = 2
   ordered_dict['c'] = 3
  1. Access and Modify Elements: You can access and modify elements in an OrderedDict just like a regular dictionary:
   print(ordered_dict['b'])  # Output: 2

   ordered_dict['c'] = 30
  1. Iterate Over Items: When you iterate over an OrderedDict, it preserves the order of items:
   for key, value in ordered_dict.items():
       print(key, value)

This code will print the items in the order they were inserted.

  1. Equality Comparison: OrderedDict objects compare not only by their contents but also by their order:
   od1 = OrderedDict({'a': 1, 'b': 2})
   od2 = OrderedDict({'b': 2, 'a': 1})

   print(od1 == od2)  # Output: False
  1. Reordering Elements: You can reorder elements in an OrderedDict by moving a key to either the beginning or the end using the move_to_end() method:
   ordered_dict.move_to_end('a', last=False)  # Move 'a' to the front

This changes the order of the elements.

OrderedDict is a valuable tool when you need to ensure the order of key-value pairs in your dictionary. While Python 3.7 and later maintain order in regular dictionaries, OrderedDict remains a good choice for older Python versions or when you want to make your code explicit about preserving the order of elements.

YOU MAY ALSO LIKE...

The Tech Thunder

The Tech Thunder

The Tech Thunder


COMMENTS