Why is dictionary important in python?

In this article, we will discuss dictionaries in python and will try to answer questions like,

  • What is a dictionary?
  • Why do we need it?
  • How to create a dictionary?
  • How to access elements in a dictionary?

In python, a dictionary is a kind of container that stores the items in key-value pairs, like,

This is an example of dictionary, which contain student names as keys and their age as values. Elements in the dictionary are stored as key-value pairs, where each value is mapped with a key. It is also known as associative array or hash table.

Advertisements

The above dictionary contains four items, i.e. four key-value pairs,

  1. Jack & 32
  2. Ritika & 31
  3. Mark & 22
  4. Mathew & 27

Why do we need dictionaries?

As a dictionary, keeps the elements in key-value mapping format and internally uses hashing for it; therefore, we can get a value from the dictionary by its key very quickly. In best cases, its complexity is O[1], whereas, in the worst case, its complexity can be O[n].

If you want to know more about hashing check this article –> What is Hashing and Hash Table?

How to create a dictionary?

To create a dictionary, we can use curly braces, i.e., {}.

dictObj = {}

It will create an empty dictionary.

Now to create a dictionary with items, pass the key-value pairs in curly braces  {}. Also, in every couple, key & value will be separated by a colon [:].

Let’s understand by some examples,

Create a dictionary that contains student names as keys and their age as value i.e.

student_age = {'Jack': 32, 'Ritika': 31, 'Mark' : 22, 'Mathew' : 27}

This dictionary contains four items. We can print the dictionary to check it contents,

print[student_age]

Output:

{'Jack': 32, 'Ritika': 31, 'Mark': 22, 'Mathew': 27}

Essential points about keys in the dictionary

  • Keys are always unique in the dictionary
  • keys must be of an immutable data type, i.e., strings, numbers, or tuples.
    • It means once a key-value pair is added in the dictionary then it cannot modify the key itself, although we can change the value associated with it.

For example, if we create a dictionary with duplicate keys and print its content,

student_age = {'Jack': 32, 'Ritika': 31, 'Jack' : 22}

print[student_age]

Output:

{'Jack': 22, 'Ritika': 31}

The value of jack is overwritten because keys are always unique in a dictionary.

Important points about value in dictionaries.

The values in a dictionary can be of any type.

For example, let’s create a dictionary where key is integer and value is a list of strings i.e.

student_info = {11: ['varun', 'Delhi', 9911],
               12: ['Jack', 'London', 2211],
               13: ['Ritika', 'Mumbai', 3311]}

Similarly, a dictionary can have any object as the value.

How to access an item in the dictionary

Suppose we have a dictionary like this,

student_age = {'Jack': 32, 'Ritika': 31, 'Mark' : 22, 'Mathew' : 27}

We can access a specific item/pair in a dictionary using [] operator on the dictionary object. If we call the operator [] on the dictionary object and pass a key, then it will return its value is like this,

age = student_age ['Jack']

print['Age of Jack is : ', age]

Output:

Age of Jack is :  32

Now if we pass a key that doesn’t exist in the dictionary, then it returns a KeyError,

age = student_age ['abc']

Error

KeyError: 'abc'

So, we before accessing any value in a dictionary, we should first check if given keys exist in the dictionary or not i.e.

if 'abc' in student_age:
    age = student_age['abc']

Python Dictionary Tutorial - Series:

  1. What is a Dictionary in Python & why do we need it?
  2. Creating Dictionaries in Python
  3. Iterating over dictionaries
  4. Check if a key exists in dictionary
  5. Check if a value exists in dictionary
  6. Get all the keys in Dictionary
  7. Get all the Values in a Dictionary
  8. Remove a key from Dictionary
  9. Add key/value pairs in Dictionary
  10. Find keys by value in Dictionary
  11. Filter a dictionary by conditions
  12. Print dictionary line by line
  13. Convert a list to dictionary
  14. Sort a Dictionary by key
  15. Sort a dictionary by value in descending or ascending order
  16. Dictionary: Shallow vs Deep Copy
  17. Remove keys while Iterating
  18. Get all keys with maximum value
  19. Merge two or more dictionaries in python

Subscribe with us to join a list of 2000+ programmers and get latest tips & tutorials at your inbox through our weekly newsletter.

The complete example is as follows,

def main[]:

    # Creating an empty dictionary
    dictObj = {}

    print['** Create dictionary of student names & their age ***']
    student_age = {'Jack': 32, 'Ritika': 31, 'Mark' : 22, 'Mathew' : 27}

    print[student_age]


    print['*** Dictionary with duplicate keys ***']

    student_age = {'Jack': 32, 'Ritika': 31, 'Jack' : 22}

    print[student_age]

    student_info = {11: ['varun', 'Delhi', 9911],
                   12: ['Jack', 'London', 2211],
                   13: ['Ritika', 'Mumbai', 3311]}


    print[student_info]
    
    print['*** Accessing items in a dictionary ***']

    student_age = {'Jack': 32, 'Ritika': 31, 'Mark': 22, 'Mathew': 27}

    # Access the value of item with key jack
    age = student_age['Jack']

    print['Age of Jack is : ', age]

    # Passing a key in [] that don't exist,
    if 'abc' in student_age:
        age = student_age['abc']


if __name__ == '__main__':
  main[]

Output:

** Create dictionary of student names & their age ***
{'Jack': 32, 'Ritika': 31, 'Mark': 22, 'Mathew': 27}
*** Dictionary with duplicate keys ***
{'Jack': 22, 'Ritika': 31}
{11: ['varun', 'Delhi', 9911], 12: ['Jack', 'London', 2211], 13: ['Ritika', 'Mumbai', 3311]}
*** Accessing items in a dictionary ***
Age of Jack is :  32

Chủ Đề