# Python | Summary list of dictionaries with the same key

| | | | | | | | | |

Let’s discuss the different methods to accomplish the task.

Method # 1: Using ` reduce () + operator `

 ` # Python code for demonstration ` ` # return the sum of the dictionary values ‚Äã‚Äã` ` # with the same keys in the dictionary list ` ` ` ` import ` ` collections, functools, operator ` ` # Initializing dictionary list ` ` ini_dict ` ` = ` ` [{` `’ a’ ` `: ` ` 5 ` `, ` ` ’b’ ` `: ` ` 10 ` `, ` `’ c’ ` `: ` ` 90 ` `}, ` ` {` ` ’a’ ` `: ` ` 45 ` `, ` ` ’b’ ` `: ` ` 78 ` `}, ` ` {` ` ’a’ ` `: ` ` 90 ` ` , ` ` ’c’ ` `: ` ` 10 ` `}] ` ` # print the source dictionary ` ` print ` ` (` ` "initial dictionary" ` `, ` ` str ` ` (ini_dict)) ` ` # sum the values ‚Äã‚Äãwith the same keys ` ` result ` ` = ` ` dict ` ` (functools. ` ` reduce ` ` (operator.add, ` ` map ` ` (collections.Counter, ini_dict))) ` ` print ` ` (` ` "resultant dictionary:" ` `, ` ` str ` ` (result)) `

Output:

initial dictionary [{’b’: 10, ’a’: 5, ’c’: 90}, {’b’: 78, ’a’: 45}, {’a’: 90, ’c’: 10}]
resultant dictionary: {’b’: 88, ’a’: 140, ’c’: 100}

Method # 2: Using a counter

` `

` # Python code for demonstration # return the sum of the dictionary values ‚Äã‚Äã # with the same keys in the dictionary list import collections # Initializing dictionary list ini_dict = [{ ’a’ : 5 , ’b’ : 10 , ’c’ : 90 }, { ’a’ : 45 , ’ b’ : 78 }, { ’a’ : 90 , ’c’ : 10 }] # print the source dictionary print ( " initial dictionary " , str (ini_dict)) # summarize the values with the same keys counter = collections.Counter () for d in ini_dict: counter.update (d) result = dict (counter) print ( "resultant dictionary:" , str ( counter)) `

` ` Exit:

initial dictionary [{’c’: 90, ’a’: 5, ’b’: 10}, {’a’: 45, ’b’: 78}, {’a’: 90, ’c’ : 10}]
resultant dictionary: Counter ({’a’: 140, ’c’: 100, ’b’: 88})

Method # 3 : Naive method

 ` # Python code for demonstration ` ` # return the sum of values dictionary ` ` # with the same keys in the dictionary list ` ` from ` ` operator ` ` import ` ` itemgetter ` ` ` ` # Initializing dictionary list ` ` ini_dict ` ` = ` ` [{` `’ a’ ` `: ` ` 5 ` `, ` ` ’b’ ` `: ` ` 10 ` `, ` ` ’c’ ` `: ` ` 90 ` `}, ` ` ` ` {` ` ’a’ ` `: ` ` 45 ` `, ` ` ’b’ ` `: ` ` 78 ` `}, ` ` {` ` ’a’ ` `: ` ` 90 ` `, ` ` ’c’ ` `: ` ` 10 ` `}] ` ` # print the original dictionary ` ` print ` ` (` ` "initial dictionary" ` `, ` ` str ` ` (ini_dict)) ` ` ` ` # sum the values ‚Äã‚Äãwith the same keys ` ` result ` ` = ` ` {} ` ` for ` ` d ` ` in ` ` ini_dict: ` ` for ` ` k ` ` in ` ` d.keys (): ` ` result [k] ` ` = ` ` result.get (k, ` ` 0 ` `) ` ` + ` ` d [k] ` ` print ` ` (` `" resultant dictionary : "` `, ` ` str ` ` (result)) `

Exit:

initial dictionary [{’b ’: 10,’ c ’: 90,’ a ’: 5}, {’ b ’: 78,’ a ’: 45}, {’ c ’: 10,’ a ’: 90}]
resultant dictionary: {’b’: 88, ’c’: 100, ’a’: 140}

## Shop

Best Python online courses for 2022

\$FREE

Best laptop for Excel

\$

Best laptop for Solidworks

\$399+

Best laptop for Roblox

\$399+

Best computer for crypto mining

\$499+

Best laptop for Sims 4

\$

Best laptop for Zoom

\$499

Best laptop for Minecraft

\$590

Latest questions

PythonStackOverflow

Common xlabel/ylabel for matplotlib subplots

PythonStackOverflow

Check if one list is a subset of another in Python

PythonStackOverflow

How to specify multiple return types using type-hints

PythonStackOverflow

Printing words vertically in Python

PythonStackOverflow

Python Extract words from a given string

PythonStackOverflow

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

PythonStackOverflow

Python os.path.join () method

PythonStackOverflow

Flake8: Ignore specific warning for entire file

## Wiki

Python | How to copy data from one Excel sheet to another

Common xlabel/ylabel for matplotlib subplots

Check if one list is a subset of another in Python

How to specify multiple return types using type-hints

Printing words vertically in Python

Python Extract words from a given string

Cyclic redundancy check in Python

Finding mean, median, mode in Python without libraries

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

Python - Move item to the end of the list

Python - Print list vertically