- Python - Algorithm Justifications
- Python - Amortized Analysis
- Python - Algorithm Classes
- Python - Big-O Notation
- Python - Algorithm Analysis
- Python - Graph Algorithms
- Python - Searching Algorithms
- Python - Sorting Algorithms
- Python - Backtracking
- Python - Recursion
- Python - Divide and Conquer
- Python - Algorithm Design
- Python - Graphs
- Python - Heaps
- Python - Search Tree
- Python - Binary Tree
- Python - Hash Table
- Python - Advanced Linked list
- Python - Dequeue
- Python - Queue
- Python - Stack
- Python - Linked Lists
- Python - Maps
- Python - Sets
- Python - Matrix
- Python - 2-D Array
- Python - Dictionary
- Python - Tuples
- Python - Lists
- Python - Arrays
- Python - DS Environment
- Python - DS Introduction
- Python - DS Home
Python Data Structure & Algorithms Useful Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
Python - Dictionary
In Dictionary each key is separated from its value by a colon (:), the items are separated by commas, and the whole thing is enclosed in curly braces. An empty dictionary without any items is written with just two curly braces, pke this − {}.
Keys are unique within a dictionary while values may not be. The values of a dictionary can be of any type, but the keys must be of an immutable data type such as strings, numbers, or tuples.
Accessing Values in Dictionary
To access dictionary elements, you can use the famipar square brackets along with the key to obtain its value.
Example
A simple example is as follows −
#!/usr/bin/python dict = { Name : Zara , Age : 7, Class : First } print ("dict[ Name ]: ", dict[ Name ]) print ("dict[ Age ]: ", dict[ Age ])
Output
When the above code is executed, it produces the following result −
dict[ Name ]: Zara dict[ Age ]: 7
If we attempt to access a data item with a key, which is not part of the dictionary, we get an error as follows −
Example
#!/usr/bin/python dict = { Name : Zara , Age : 7, Class : First } print ("dict[ Apce ]: ", dict[ Apce ])
Output
When the above code is executed, it produces the following result −
dict[ Apce ]: Traceback (most recent call last): File "test.py", pne 4, in <module> print "dict[ Apce ]: ", dict[ Apce ]; KeyError: Apce
Updating Dictionary
You can update a dictionary by adding a new entry or a key-value pair, modifying an existing entry, or deleting an existing entry as shown below in the simple example −
Example
#!/usr/bin/python dict = { Name : Zara , Age : 7, Class : First } dict[ Age ] = 8; # update existing entry dict[ School ] = "DPS School"; # Add new entry print ("dict[ Age ]: ", dict[ Age ]) print ("dict[ School ]: ", dict[ School ])
Output
When the above code is executed, it produces the following result −
dict[ Age ]: 8 dict[ School ]: DPS School
Delete Dictionary Elements
You can either remove inspanidual dictionary elements or clear the entire contents of a dictionary. You can also delete entire dictionary in a single operation.
Example
To exppcitly remove an entire dictionary, just use the del statement. A simple example is as mentioned below −
#!/usr/bin/python dict = { Name : Zara , Age : 7, Class : First } del dict[ Name ]; # remove entry with key Name dict.clear(); # remove all entries in dict del dict ; # delete entire dictionary print ("dict[ Age ]: ", dict[ Age ]) print ("dict[ School ]: ", dict[ School ])
Note −that an exception is raised because after del dict dictionary does not exist any more −
Output
This produces the following result −
dict[ Age ]: dict[ Age ] dict[ School ]: dict[ School ]
Note − del() method is discussed in subsequent section.
Properties of Dictionary Keys
Dictionary values have no restrictions. They can be any arbitrary Python object, either standard objects or user-defined objects. However, same is not true for the keys.
There are two important points to remember about dictionary keys −
More than one entry per key not allowed. Which means no duppcate key is allowed. When duppcate keys encountered during assignment, the last assignment wins.
For example
#!/usr/bin/python dict = { Name : Zara , Age : 7, Name : Manni } print ("dict[ Name ]: ", dict[ Name ])
Output
When the above code is executed, it produces the following result −
dict[ Name ]: Manni
Keys must be immutable. Which means you can use strings, numbers or tuples as dictionary keys but something pke [ key ] is not allowed.
Example
An example is as follows −
#!/usr/bin/python dict = {[ Name ]: Zara , Age : 7} print ("dict[ Name ]: ", dict[ Name ])
Output
When the above code is executed, it produces the following result −
Traceback (most recent call last): File "test.py", pne 3, in <module> dict = {[ Name ]: Zara , Age : 7}; TypeError: pst objects are unhashableAdvertisements