Python: Split a given dictionary of lists into list of dictionaries using map function
Write a Python program to split a given dictionary of lists into list of dictionaries using the map function.
Sample Solution:
Python Code:
# Define a function named 'list_of_dicts' that takes a dictionary of lists as input
def list_of_dicts(marks):
# Use a list comprehension to create a list of tuples, where each tuple represents a key-value pair from the input dictionary
# Use the 'zip' function to transpose the list of tuples, creating tuples with values from the same position in each tuple
# Use another list comprehension to convert each tuple into a dictionary
# Use the 'map' function to apply the 'dict' constructor to each tuple, resulting in a map object of dictionaries
# Convert the map object to a list and return the result
result = map(dict, zip(*[[(key, val) for val in value] for key, value in marks.items()]))
return list(result)
# Define a dictionary named 'marks' with keys representing subjects and values representing lists of marks
marks = {'Science': [88, 89, 62, 95], 'Language': [77, 78, 84, 80]}
# Print the original dictionary of lists
print("Original dictionary of lists:")
print(marks)
# Print a newline for better readability
print("\n")
# Print a message indicating the operation to be performed
print("Split said dictionary of lists into list of dictionaries:")
# Print the result of calling the 'list_of_dicts' function with the 'marks' dictionary
print(list_of_dicts(marks))
Sample Output:
Original dictionary of lists: {'Science': [88, 89, 62, 95], 'Language': [77, 78, 84, 80]} Split said dictionary of lists into list of dictionaries: [{'Science': 88, 'Language': 77}, {'Science': 89, 'Language': 78}, {'Science': 62, 'Language': 84}, {'Science': 95, 'Language': 80}]
Python Code Editor:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous: Write a Python program to interleave two given list into another list randomly using map() function.
Next: Write a Python program to convert a given list of strings into list of lists using map function.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics