w3resource

Python: Split a given dictionary of lists into list of dictionaries using map function

Python map: Exercise-15 with Solution

Write a Python program to split a given dictionary of lists into list of dictionaries using map function.

Sample Solution:

Python Code:

def list_of_dicts(marks):
    result = map(dict, zip(*[[(key, val) for val in value] for key, value in marks.items()]))
    return list(result)
marks = {'Science': [88, 89, 62, 95], 'Language': [77, 78, 84, 80]}
print("Original dictionary of lists:")
print(marks)
print("\nSplit said dictionary of lists into list of dictionaries:")
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 Python skills with w3resource's quiz


Python: Tips of the Day

Curries a function.

Example:

from functools import partial

def tips_curry(fn, *args):
  return partial(fn,*args)
add = lambda x, y: x + y
add1 = tips_curry(add, 20)

print(add1(80))

Output:

100