MrJazsohanisharma

Python Dictionary

 

Python Dictionary



In this python lecture you will master all about Python Dictionary with examples; how to create a dictionary, how to modify a python dictionary, how to remove and standard operations on dictionaries. Besides these, we will learn about the methods to manipulate dictionaries.

A dictionary is a collection of items that are unordered and mutable. Dictionary items are usually represented as Key: Value pairs which are enclosed in curly braces {}. Each Key: Value pair is separated using commas. In a nutshell, a dictionary is a key-value mapping as visualized below.

Key Features of Python Dictionary

·        Dictionary is mutable.

·        Dictionaries are dynamic in nature.

·        Dictionary can be nest like a list

·        Keys are unique and immutable while values are mutable

How to create a dictionary in Python?

A dictionary in python can be defined by enclosing comma-separated key-value pairs inside curly braces {}. Another way to create a dictionary is through the built-in dict() function.

Syntax of Dictionary

<dict_name> = {

      <key>:<value>,

      <key>:<value>,

      .

      .

      <key>:<value>

}

 

Empty Dictionary: Python dictionary with zero items.

Example: How to define empty Dictionary

emp_dict ={}

print(type(emp_dict))

 

Output:

 

<class 'dict'>

Homogeneous Dictionary: A Dictionary with keys of the same immutable datatype.

Example: How to create a Homogeneous dictionary

int_dict={1:'Odd',2:'Even'}

print(int_dict)

 

Output:

 

{1: 'Odd', 2: 'Even'}

Mixed Dictionary: A Dictionary with keys of the different immutable datatypes.

Example: Mixed dictionary

mix_dict={1:'Student','name':'Tom','Marks':[45,46,47,48,50 ]}

print(mix_dict)

 

Output:

 

{1: 'Student', 'name': 'Tom', 'Marks': [45, 46, 47, 48, 50]}

So far we have discussed various types of dictionaries and their creation. Another possible way to create a dictionary is using a function called dict().

Example: dict() function

fn_dict = dict({'Name':'John','Age':30})

print(fn_dict)

 

Output:

 

{'Name': 'John', 'Age': 30}

Properties of Key and Values in Dictionary

Two important factors in a python dictionary are Keys and Values. Their properties are listed below.

1.    The key must be unique means there should be no duplication. If a dictionary contains duplicate keys then the last assignment will be considered.

Example:Illustrates keys doesn't hold duplicates

 

fn_dict = dict({'Name':'John','Age':30 ,'Name':'Charles'})

print(fn_dict)

 

Output:

 

{'Name': 'Charles', 'Age': 30}

2.    Keys are immutable means they are unchangeable over the lifetime after creation. Keys can be integer, string, tuples but never be a list.

Example:shows error when key is a list

 

D = {['odd']:(1,3,5,7,9)}

print(D)

 

Output:

 

D = {['odd']:[1,3,5,7,9]}

TypeError: unhashable type: 'list'

3.    Values are free of restrictions and they can be any data type and can be of any length.

Example: shows values can be of any type and any length

 

D = {'odd':[1,3,5,7,9]}

print(D)

 

Output:

{'odd': [1, 3, 5, 7, 9]}

What is a Nested Dictionary in Python?

In Python, a dictionary containing another dictionary is referred to as Nested Dictionary. Nesting can be done to any level without any restriction. This can be visualized for better understanding.

Nested Dictionary

University= {

 'UN_Name':'Oxford',

 'Stud':{   'St1_Name':'Tom','St2_Name':'Becky' }

}

print(University)

Output:

{'UN_Name': 'Oxford', 'Stud': {'St1_Name': 'Tom', 'St2_Name': 'Becky'}}

How to access dictionary values in Python?

We know that a dictionary is an unordered collection of key: value pairs. Even though they appear as how they were defined, when it comes to accessing, numerical indexing does not work. This is because python interprets the numerical value as the key instead of index. So then how can we access values from a dictionary?

Dictionary uses keys to retrieve values from a dictionary. To access values we use the same square brackets with Keys inside rather than indices. We can also use the get() method to accomplish the same.

To understand let’s examine the below example.

Accessing Values from Dictionary

mix_dict={1:'Student','name':'Tom','Marks':[45,46,47,48,50 ]}

print('mix_dict[1] = ',mix_dict[1])

print("mix_dict['name'] = ",mix_dict['name'])

print("mix_dict['Marks'] = ", mix_dict.get('Marks')

Output:

mix_dict[1] =  Student

mix_dict['name'] =  Tom

mix_dict['Marks'] =  [45, 46, 47, 48, 50]

Accessing undefined Values

Now suppose you try to access a value with a key that is not defined in the dictionary. What will happen?

Obviously, an exception will be the result. If we refer to a key that is not present in the dictionary, the interpreter raises a KeyError. This occurs only when we use square [] brackets to access value. The get() method returns None as the output.

KeyError while accessing an undefined key

 

D= { 'A':'Apple','B':'Banana'}

print(D.get('C'))

print(D['C'])

 

Output:

 

None

print(D['C'])

KeyError: 'C'

 

How to access values from a Nested Dictionary

Examples : Accessing values from a nested dictionary

 

D={

   'D1':{2:4,3:9},

   'D2':{4:64,5:125}

}

print(D['D1'])

print(D['D2'])

print(D['D1'][3])

print(D['D2'][5])

 

Output:

 

{2: 4, 3: 9}

{4: 64, 5: 125}

9

125

 

How to modify Python Set

The mutable behavior of a dictionary makes it possible to modify the dictionary either by adding individual or group of entries or by replacing the existing value. Three ways of adding entries to a dictionary is listed below.

1.    adding single entries to an empty dictionary

Example: How to add an element to an empty set

Student ={}

Student[' First_Name']='Charles'

Student['Last_Name'] = 'Smith'

print("\n Dictionary after adding two entries one at a time :",Student)

 

Output:

 

Dictionary after adding two entries one at a time :

{' First_Name': 'Charles', 'Last_Name': 'Smith'}

2.    update() function : to add multiple entries to dictionary in one shot

Example: How to add multiples element in one shot

 

Student = {' First_Name': 'Charles', 'Last_Name': 'Smith'}

Student.update({'ID':10001, 'Department':'Science'})

print("\n Dictionary after adding multiple entries in one shot :", Student)

 

Output:

Dictionary after adding multiple entries in one shot :

{' First_Name': 'Charles', 'Last_Name': 'Smith', 'ID': 10001, 'Department': 'Science'}

3.    Nesting a dictionary by adding another dictionary

Example: addition of dictionary to an existing dictionary

Student = {' First_Name': 'Charles', 'Last_Name': 'Smith', 'ID': 10001, 'Department': 'Science'}

Student['Marks'] ={'Physics':100 ,'Chemistry':98}

print("\n Dictionary after nesting : \n ",Student)

 

Output:

Dictionary after nesting :

{' First_Name': 'Charles', 'Last_Name': 'Smith', 'ID': 10001, 'Department': 'Science', 'Marks': {'Physics': 100, 'Chemistry': 98}}

We can also modify the dictionary by changing or replacing the existing values. This can be done by referring to its key. Below example, change the existing value, Smith to David, by referring to its key Last_Name.

We can also modify the dictionary by changing or replacing the existing values. This can be done by referring to its key. Below example, change the existing value, Smith to David, by referring to its key Last_Name.

Example: Changing values in the dictionary

 

Student = {' First_Name': 'Charles', 'Last_Name': 'Smith'}

Student['Last_Name']='David'

print(Student)

 

Output:

{' First_Name': 'Charles', 'Last_Name': 'David'}

How to remove elements from a Dictionary in Python

Another way to modify the dictionary is by removing the elements from it. There are various ways to remove or delete elements in the dictionary. They are listed below.

1.    pop() Method: is a built-in function in a dictionary. It is used to remove a distinct item from a dictionary by referring to its key and this method returns the removed value.

Example: Removing an element from a dictionary using pop() method

 

Student = {' First_Name': 'Charles', 'Last_Name': 'Smith'}

print(Student.pop('Last_Name'))

print("Dictionary after removal is:",Student)

 

Output:

 

Smith

Dictionary after removal is: {' First_Name': 'Charles'}

2.    popitem() Method: is a built-in function used to remove the last inserted key-value pair from the dictionary and will return the key-value pairs.

Example: Removing element from a dictionary using popitem() method

 

Student = {' First_Name': 'Charles', 'Last_Name': 'Smith','Age':27}

print(Student.popitem())

print("Dictionary after removal is:",Student)

 

Output:

 

('Age', 27)

3.    clear() Method: is a built-in function used to remove or clear all the elements in a dictionary.

Example: Removing element using clear() method

 

Student = {' First_Name': 'Charles', 'Last_Name': 'Smith','Age':27}

print(Student.clear())

print("Dictionary after removal is:",Student)

 

Output:

None

4.    del keyword: can be used to remove either individual elements or the entire dictionary itself.

Example: Removing element using del keyword

 

Student = {' First_Name': 'Charles', 'Last_Name': 'Smith','Age':27}

del Student['Age']

print("Dictionary after removal is:",Student)

del Student

print("Dictionary after removal is:",Student)

 

Output:

Dictionary after removal is: {' First_Name': 'Charles', 'Last_Name': 'Smith'}

    print("Dictionary after removal is:",Student)

NameError: name 'Student' is not defined

How to perform Membership Validation in a Python Dictionary

As in other data types, we can validate the presence of a key in a dictionary using the membership operators. The two membership operators are :

·       in: returns true only when the key is present in the dictionary.

·       not in: returns false when the key is absent in the dictionary.

Example: Membership Validation

 

D ={

   0:'Red',

   2:'Green',

   4:'Blue'

   }

print(0 in D)

print(3 not in D)

 

Output:

True

True

Python Dictionary built-in functions

To accomplish some specific tasks python has got some built-in functions for dictionaries. They are well tabulated below.

Function

Description

all()

Returns True if all keys in the dictionary are True

any() 

Returns True if any of the keys in the dictionary is True

len()

Returns the number of key-value pairs in the dictionary

sorted()

Returns a list of keys which are sorted

Python Dictionary Methods

Like functions, the Python dictionary does have methods to perform special tasks and return specific values. They are listed below in the table below.

METHODS

DESCRIPTION

clear()

Clears all items in the dictionary

copy()

Returns a shallow copy of the dictionary

fromkeys(seq[,v])

Returns a new dictionary with keys from the seq and associated values v.

get(key[,d])

Returns the associated values of the key.

items()

Returns a list of key-value pair format

keys()

Returns the list of keys in the dictionary

pop(key[,d])

Removes elements in a dictionary referring to its key

popitem()

Removes and returns the last inserted entry

setdefault(key[,d])

To set the key to default if the key is not available

update()

Returns the updated dictionary with new entries or replacing the existing one.

values()

Returns the list of values in a dictionary

 



Post a Comment

We shall be glad to read through your comment and respond back to your questions in time.

Previous Post Next Post