w3resource

Python Exercise: Create a dictionary from two lists without losing duplicate values

Python dictionary: Exercise-36 with Solution

Write a Python program to create a dictionary from two lists without losing duplicate values.

Sample Solution:-

Python Code:

from collections import defaultdict
class_list = ['Class-V', 'Class-VI', 'Class-VII', 'Class-VIII']
id_list = [1, 2, 2, 3]
temp = defaultdict(set)
for c, i in zip(class_list, id_list):
    temp[c].add(i)
print(temp)

Sample Output:

defaultdict(<class 'set'>, {'Class-VII': {2}, 'Class-VI': {2}, 'Class-V': {1}, 'Class-VIII': {3}}) 

Visualize Python code execution:

The following tool visualize what the computer is doing step-by-step as it executes the said program:

Python Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a Python program to sort Counter by value.
Next: Write a Python program to replace dictionary values with their sum.

What is the difficulty level of this exercise?

Test your Python skills with w3resource's quiz



Python: Tips of the Day

Python: Convert byte to a string?

You need to decode the bytes object to produce a string:

>>> b"abcde"
b'abcde'

# utf-8 is used here because it is a very common encoding, but you
# need to use the encoding your data is actually in.
>>> b"abcde".decode("utf-8") 
'abcde'

Ref: https://bit.ly/2YuvClI