Introduction
In this article, we will see one of the most asked and confusing problems: slicing a dictionary in Python. Slicing a dictionary means obtaining the subsets of the dictionary using the key-value pairs. There are many ways to do that but those techniques are lengthy and confusing, we are going to use a module known as itertools, using this module, slicing a dictionary is very easy. We will see each and everything with the help of examples. Let’s get started.
What is a python dictionary?
Dictionary in
python is an unordered and mutable container that is used to store
data using key-value pairs. This is one of the four major data types in
python. We store values using keys and we can retrieve those values by
their specified key. We use curly ({}) braces to initialize the
dictionary in python. Let’s see an example:
dictionary = {'key':'value'}
The syntax is easy, we specify a key and then assign a value to the key. This way, the data is stored very easily and can be retrieved easily.
student = {'RNo' : 10, 'Marks' : 90, 'Percentage' : 90}
print(student)
Output:
{'RNo': 10, 'Marks': 90, 'Percentage': 90}
We have initialized a dictionary above, you can see that we are giving a key and then assigning a value to the key. Now let’s see how to slice it very easily.
Slicing dictionary in Python
We know what slicing a
dictionary
is. To slice a dictionary, we can use multiple ways but itertools is
one of the best modules which helps us to slice dictionaries very easily
in python. The itertools is used to manipulate data structures in
python, and it is used to iterate through different data structures.
This module is very fast, efficient, and easy to use. This module is
part of Python’s standard libraries so you don’t need to install it
separately. Let’s use this with the help of some examples:
Example 1: Using itertools
import itertools
student = {'RNo' : 10, 'Marks' : 90, 'Percentage' : 90}
new_dict = dict(itertools.islice(student.items(), 2))
print(new_dict)
Output:
{'RNo': 10, 'Marks': 90}
We have imported itertools, then a dictionary is defined. We are making
a new dictionary with the help of dict() function and storing a slice
of the first dictionary in it. We are using the islice() function and
passing our original dictionary to it, we are also specifying the index
of the dictionary we are interested in a slice. And boom, we sliced the
dictionary.
Example 2: Using itertools
Let’s see another example by making a small change to the code.
import itertools
student = {'RNo' : 10, 'Marks' : 90, 'Percentage' : 90}
new_dict = dict(itertools.islice(student.items(), 1,3))
print(new_dict)
Output:
{'Marks': 90, 'Percentage': 90}
We have sliced the same dictionary but this time, we pass two values to
the islice() function. 1 and 3 mean that leave the value on index 1
and take 2 and 3 indexes.
Example 3: Using for loop
languages = {1 : 'Python', 2 : 'Java', 3 : 'C++', 4 : 'C#', 5 : 'Dart'}
keys = (1,2,5)
favorite_langs = { i : languages[i] for i in keys}
print(favorite_langs)
Output:
{1: 'Python', 2: 'Java', 5: 'Dart'}
This example is very interesting. We are not using itertools this
time, instead, we are using a for loop. We have initialized a
dictionary of different programming languages, we have another variable
keys which have all the keys we are interested in. Then we are using
a for loop and pass the keys, this way, a dictionary can be sliced.
That’s all for today.
Thank you!
Summary
In this article, we saw how to slice a dictionary in python using itertools and using a for loop. Dictionaries are a powerful data structure in python, we saw how to initialize a dictionary and how to manipulate it.

![How to slice dictionary in Python? [SOLVED]](/python-slice-dictionary/python-slice-dictionary.jpg)
