'how to merge object inside array of an object

I have a array of an object .

let items = [
    { id: "1", size: 10 },
    { id: "2", size: 4 },
    { id: "3", size: 6 },
    { id: "4", size: 21 },
    { id: "5", size: 2 },
    { id: "6", size: 1 },
    { id: "7", size: 6 },
    { id: "8", size: 7 },
    { id: "9", size: 8 },

];

and I want this that array in this format

let items = [
    { id: "1", size: 10, id: "2", size: 4, id: "3", size: 6 },
    { id: "4", size: 21, id: "5", size: 2, id: "6", size: 1 },
    { id: "7", size: 6, id: "8", size: 7, id: "9", size: 8 },
   
  ];


Solution 1:[1]

It is impossible to get the output you are looking for because keys cannon be repeated in a dictionary. Although, if you change the id's to be unique you can use a list comprehension to get a similar result:

items = [{k + str(i+1) : v for i in range(n, n + 3) for k, v in items[i].items()} for n in [0, 3, 6]]
print(items)

Output:

[{'id1': '1', 
  'size1': 10, 
  'id2': '2', 
  'size2': 4, 
  'id3': '3', 
  'size3': 6}, 
 {'id4': '4', 
  'size4': 21, 
  'id5': '5', 
  'size5': 2, 
  'id6': '6', 
  'size6': 1}, 
 {'id7': '7', 
  'size7': 6, 
  'id8': '8', 
  'size8': 7, 
  'id9': '9', 
  'size9': 8}]

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Eli Harold