Q:

Write a python program to map two lists into a dictionary

0

Write a python program to map two lists into a dictionary

In this exercise, you will learn different ways to write a Python program to map two lists into a dictionary.

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

Map two lists into a dictionary using zip() function

The zip() function of Python makes an iterator that aggregate elements from at least two lists. To map two lists, 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 the 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 fruits and price 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}

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

Python Exercises, Practice Questions and Solutions

This question belongs to these collections

Similar questions


need a help?


find thousands of online teachers now
Python program to multiply two numbers... >>
<< Write a python program to input week number and pr...