Write a python program to map two lists into a dictionary
In this post, you will learn different ways to write a Python program to map two lists into a dictionary.
A list is an arranged collection of elements. It is used to store collections of data. It can contain a list of various types of data objects with a comma separated and enclosed within a square bracket. It is mutable, which means we can change the order of elements. Individual elements can be replaced even after the list has been created. This is one of the leading reasons why lists are being widely used. Lists play an effective role in small projects as they consume more memory.
Dictionary is an ordered collection of data values, whose values are accessible by key. The dictionary is a mapping of keys and values. The dict() is a constructor which is used to create instances of the class dict. The order of elements in a dictionary is undefined. We can iterate over keys, values, or key-value pairs. Here, we have mentioned different ways to map two lists into a dictionary.
Map two lists into a dictionary using zip() function
The zip() function of Python creates an iterator that aggregates elements from at least two lists. To map two lists together, we can use the Python zip() function. This function allows us to combine two lists together. We can use one list as the keys for the dictionary and the other as the values.
In the given example, we have two lists, one containing a list of students and the other containing their marks. The requirement is to create a single dictionary that stores the name of a student along with their marks. We can use the given solution to accomplish this task:
students = ['Smith', 'John', 'Priska', 'Abhi']
marks = [89, 53, 92, 86]
students_dict = dict(zip(students, marks))
print(students_dict)
Output of the above code:
{'Smith': 89, 'John': 53, 'Priska': 92, 'Abhi': 86}
If the lists vary in size, this method will truncate the longer list. If the keys are not unique, this method will pick the last value for mapping.
Map two lists into a dictionary using Dictionary Comprehension
Dictionary comprehension is one way to create a dictionary in Python. It creates a dictionary by combining two sets of data which are in the form of either lists or arrays. It is an elegant and concise approach to create dictionaries. Dictionary comprehension uses pointed brackets ({})
In the given code, we have used dictionary comprehension to map two lists into a dictionary:
items = ['pen', 'paper', 'pencil']
quantities = [5, 20, 15]
items_dict = {key:value for key, value in zip(items, quantities)}
print(items_dict)
Output of the above code:
{'pen': 5, 'paper': 20, 'pencil': 15}
Map two lists into a dictionary using For loop
We can also use the for loop to map two lists into a single dictionary. The following example demonstrates this. First, we have initialized two lists of fruits and prices and then used for loop to map these two lists into a dictionary.
fruits = ['mango', 'pear', 'apple','papaya']
price = [90, 78, 110, 60]
fruits_price = zip(fruits, price)
# create dictionary
fruits_dict = {}
for key, value in fruits_price:
if key in fruits_dict:
# handling duplicate keys
pass
else:
fruits_dict[key] = value
print(fruits_dict)
Output of the above code:
{'mango': 90, 'pear': 78, 'apple': 110, 'papaya': 60}
Map two lists into a dictionary using for and range
Here, we have used the for loop and range to map two lists into a single dictionary.
students = ['Smith', 'John', 'Priska', 'Abhi']
marks = [93, 89, 91, 88]
# Given lists
print("List of Students : ", students)
print("list of Marks : ", marks)
# Convert to dictionary
res = {students[i]: marks[i] for i in range(len(students))}
print("Dictionary from lists :\n ",res)
Output of the above code:
List of Students : ['Smith', 'John', 'Priska', 'Abhi']
list of Marks : [93, 89, 91, 88]
Dictionary from lists :
{'Smith': 93, 'John': 89, 'Priska': 91, 'Abhi': 88}
Related Articles
Convert dataframe column to listConvert Dataframe to list Python
Convert tuple to list Python
Convert list to set Python
Convert list to tuple Python
Python count frequency in list
Convert list to dictionary Python
Python dict inside list
Pandas string to datetime
Convert Excel to CSV Python Pandas
Python add list to list
Python Pandas Dataframe to CSV
Python compare two lists
Remove element from list Python
Python iterate list with index
Python program to sum all the numbers in a list
Python print without newline
Python iterate list with index
Python add list to list
Python convert xml to dict
Python dict inside list
Python convert dict to xml
Python weather api
Python raise keyword