0

I got response like

[
    {
      "userid": 1,
      "Jun": 1
    },
    {
      "userid": 2,
      "Jun": 2
    },
    {
      "userid": 2,
      "Jul": 5
    },
    {
      "userid": 2,
      "Jan": 1
    }
]

But I want response like

[
    {"userid": 1, "Jun": 1},
    {"userid": 2, "Jun": 1, "Jul": 5}
]
Vishal Singh
  • 6,014
  • 2
  • 17
  • 33

1 Answers1

0
from collections import defaultdict

response = [
    {"userid": 1, "Jun": 1},
    {"userid": 2, "Jun": 2},
    {"userid": 2, "Jul": 5},
    {"userid": 2, "Jan": 1},
]

result = defaultdict(dict)
for r in response:
    result[r["userid"]].update(**r)

response = list(result.values())

print(response)

Output:

[{'userid': 1, 'Jun': 1}, {'userid': 2, 'Jun': 2, 'Jul': 5, 'Jan': 1}]
Vishal Singh
  • 6,014
  • 2
  • 17
  • 33