In Python, I have a list of dicts as follows:
orig_list = [
{'first_name': u'Jake', 'last_name': u'Sarson', 'team': u'TeamOne',
'display_name': u'AVG', 'value': 7.0},
{'first_name': u'Mike', 'last_name': u'Walsh', 'team': u'TeamTwo',
'display_name': u'AVG', 'value': 12.0},
{'first_name': u'Jake', 'last_name': u'Sarson', 'team': u'TeamOne',
'display_name': u'AVG', 'value': 7.0},
{'first_name': u'Mike', 'last_name': u'Walsh', 'team': u'TeamTwo',
'display_name': u'AVG', 'value': 12.0},
{'first_name': u'Steve', 'last_name': u'Mottola', 'team': u'TeamTwo',
'display_name': u'AVG', 'value': 18.0},
{'first_name': u'Steve', 'last_name': u'Mottola', 'team': u'TeamTwo',
'display_name': u'AVG', 'value': 18.0},
{'first_name': u'Craig', 'last_name': u'Schubert', 'team': u'TeamOne',
'display_name': u'AVG', 'value': 23.5},
{'first_name': u'Steve', 'last_name': u'Mottola', 'team': u'TeamTwo',
'display_name': u'REC', 'value': 2.0},
{'first_name': u'Mike', 'last_name': u'Walsh', 'team': u'TeamTwo',
'display_name': u'REC', 'value': 1.0},
{'first_name': u'Jake', 'last_name': u'Sarson', 'team': u'TeamOne',
'display_name': u'REC', 'value': 1.0},
{'first_name': u'Craig', 'last_name': u'Schubert', 'team': u'TeamOne',
'display_name': u'REC', 'value': 2.0},
{'first_name': u'Craig', 'last_name': u'Schubert', 'team': u'TeamOne',
'display_name': u'TD', 'value': 1.0},
{'first_name': u'Steve', 'last_name': u'Mottola', 'team': u'TeamTwo',
'display_name': u'YDS', 'value': 36.0},
{'first_name': u'Jake', 'last_name': u'Sarson', 'team': u'TeamOne',
'display_name': u'YDS', 'value': 7.0},
{'first_name': u'Mike', 'last_name': u'Walsh', 'team': u'TeamTwo',
'display_name': u'YDS', 'value': 12.0},
{'first_name': u'Craig', 'last_name': u'Schubert', 'team': u'TeamOne',
'display_name': u'YDS', 'value': 47.0}]
I need to create a new list of dicts from the first list to find the unique names and for each name find all the display_name’s and the values. In essence the result should be:
[{'first_name': u'Jake', 'last_name': u'Sarson', 'team': u'TeamOne',
'AVG': 7.0, 'REC': 1.0, 'YDS': 7.0},
{'first_name': u'Mike', 'last_name': u'Walsh', 'team': u'TeamTwo',
'AVG': 12.0, 'REC': 1.0, 'YDS': 12.0},
{'first_name': u'Steve', 'last_name': u'Mottola', 'team': u'TeamTwo',
'AVG': 18.0, 'REC': 2.0, 'YDS': 36.0},
{'first_name': u'Craig', 'last_name': u'Schubert', 'team': u'TeamOne',
'AVG': 23.5, 'REC': 2.0, 'TD': 1.0, 'YDS': 47.0}]
I tried with nested for loops but kept getting an error that the “dict is unhashable.” What is the best solution for this data structure?
1 Answer