В Python, у меня есть список dicts следующим образом:Как создать новый список dicts в python, объединив dicts в другом списке?
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}]
Мне нужно создать новый список dicts из первого списка, чтобы найти уникальные имена и для каждого имени найти все display_name-х и значение , В сущности, результат должен быть:
[{'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}]
Я попытался с вложенными для петель, но продолжал получать ошибку, что «ДИКТ является unhashable.» Какое наилучшее решение для этой структуры данных?
Вы уже читали о методе словаря 'update'? Если нет, прочитайте это и пересмотрите свой вопрос. –
Спасибо. Я буду читать по методу обновления. Документы python иногда не помогают мне все время, и только если я вижу пример, я понимаю. – simi
«только если я вижу пример, который я понимаю». Возможно, вы должны найти способ преодолеть это. Документация Python - отличный ресурс, и вы могли бы быстрее решать проблемы, если бы могли найти способ их прочитать. –