Converting a List into a Dictionary in Python
In this tutorial, we will learn how to convert a list into dictionary in Python.
A list is a collection of different data.
In Python, a list shows the following features.
- It is a mutable sequence.
- It means the elements in the list can be changed.
- The elements are accessed by index.
Certainly, it would be a handful to know a bit about Dictionary in Python.
Therefore, a dictionary can be defined as a mutable sequence which has the format of key: value pair.
Moreover, it is an unordered sequence.
Also learn: Convert a Dictionary into a List in Python
Creating a List :
sample_list = [ ] # empty list sample_list = [ 1, "rahul" ,2 , "raj" , 3 ,"Bhanu" ,4 , "Surya"] print (sample_list)
Output : [1, 'rahul', 2, 'raj', 3, 'Bhanu', 4, 'Surya']
As the list is created, it’s time to convert it into another datatype like Dictionary.
Convert List into a Dictionary in Python
First of all, the above list can be converted into a dictionary by imagining the above list as,
sample_list = [key1, value1, key2, value2, …… so on]
Before converting, certainly, it’s good to see how a dictionary looks like.
Sample Dictionary :
sample_dict = { } sample_dict = {"a" : 1, "b" : 2 , "c" : 3} # key : value pair print(sample_dict)
Output : {'b': 2, 'a': 1, 'c': 3}
Process 1 :
Combining the above features and the steps, the following can be designed.
sample_list = [ ] # empty list sample_list = [ 1, "rahul" ,2 , "raj" , 3 ,"Bhanu" ,4 , "Surya"] sample_dict = { } # empty dictionary len_list = len(sample_list) # range(a , b , c) <- sequence of a to b-1 with skip of c for i in range(0,len_list,2): # imagining key as every integer in the list key = sample_list [i] # key element sample_dict [key] = sample_list [i+1] # dict [key] = value print(sample_dict)
Output : {1: 'rahul', 2: 'raj', 3: 'Bhanu', 4: 'Surya'}
Seems pretty interesting, moreover, there is even another way to convert the list into Dictionary.
Process 2:
The second method is to use the zip ( ) method.
Simply, a zip (a,b) pairs the simultaneous values in a and b [ where a and b are any sequences ].
list_keys = [1 ,2 ,3 ,4 ,5] list_values = ["ab" , "bc" , "cd" , "gf" , "es"] sample_dict = { } # empty dictionary zip_obj = zip(list_keys , list_values) # it creates a tuple where the corresponding values are paired sample_dict = dict (zip_obj) # typecasting with dict( seq ) function which converts any sequence to dictionary print (sample_dict)
Output : {1: 'ab', 2: 'bc', 3: 'cd', 4: 'gf', 5: 'es'}
Certainly, these are the best and easy ways to convert the list into a dictionary in Python.
Leave a Reply