En Python, j'ai une liste de dicts comme suit:Comment créer une nouvelle liste de dicts en python en consolidant des dicts dans une autre liste?
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}]
Je dois créer une nouvelle liste de dicts de la première liste pour trouver les noms uniques et pour chaque nom trouvent tous de la display_name et les valeurs . En substance, le résultat devrait être:
[{'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}]
J'ai essayé avec des boucles imbriquées mais je continuais à une erreur que le « dict est unhashable. » Quelle est la meilleure solution pour cette structure de données?
Avez-vous déjà lu la méthode 'update' du dictionnaire? Si ce n'est pas le cas, veuillez le lire et réviser votre question. –
Merci. Je vais lire sur la méthode de mise à jour. Les docs python parfois ne m'aident pas tout le temps et seulement si je vois un exemple que je comprends. – simi
"seulement si je vois un exemple que je comprends" Peut-être que vous devriez trouver un moyen de surmonter cela. La documentation Python est une excellente ressource, et vous pourriez résoudre les problèmes plus rapidement si vous pouviez trouver un moyen de les lire. –