I have a list of tuple:
[('Lebron James', datetime.date(2017, 12, 23), 500),
('Julie Peralta', datetime.date(2017, 12, 13), 1500),
('Reynaldo Pahay', datetime.date(2017, 12, 11), 2500)]
I want to convert it into a list of dictionary:
[{'Name': 'Lebron James', 'date': datetime.date(2017, 12, 23), 'penalty': 500},
{'Name': 'Julie Peralta', 'date': datetime.date(2017, 12, 13), 'penalty': 1500},
{'Name': 'Reynaldo Pahay', 'date': datetime.date(2017, 12, 11), 'penalty': 2500}]
What's the best and efficient way to do it?
You can make use of zip
function.
def get_list_of_dict(keys, list_of_tuples):
"""
This function will accept keys and list_of_tuples as args and return list of dicts
"""
list_of_dict = [
dict(zip(keys, values))
for values in list_of_tuples
]
return list_of_dict
DEMO
>>> import datetime
>>>
>>> keys = ("name", "date", "penalty")
>>>
>>> my_list_of_tuples = [
... (
... "Lebron James",
... datetime.date(2017, 12, 23),
... 500,
... ),
... (
... "Julie Peralta",
... datetime.date(2017, 12, 13),
... 1500,
... ),
... (
... "Reynaldo Pahay",
... datetime.date(2017, 12, 11),
... 2500,
... ),
... ]
>>>
>>> get_list_of_dict(keys, my_list_of_tuples)
[{'name': 'Lebron James', 'date': datetime.date(2017, 12, 23), 'penalty': 500}, {'name': 'Julie Peralta', 'date': datetime.date(2017, 12, 13), 'penalty': 1500}, {'name': 'Reynaldo Pahay', 'date': datetime.date(2017, 12, 11), 'penalty': 2500}]
>>>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With