Dada n
listas con m
diccionarios como sus elementos, me gustaría producir una nueva lista, con un conjunto unido de diccionarios. Cada diccionario tiene garantizada una clave llamada "índice", pero podría tener un conjunto arbitrario de claves más allá de eso. Las claves que no son índice nunca se superpondrán en todas las listas. Por ejemplo, imagina las dos listas siguientes:unir dos listas de diccionarios en una sola clave
l1 = [{"index":1, "b":2}, {"index":2, "b":3}, {"index":3, "green":"eggs"}]
l2 = [{"index":1, "c":4}, {"index":2, "c":5}]
("b"
nunca aparecería en l2
, ya que apareció en l1
, y de manera similar, "c"
nunca aparecería en l1
, ya que apareció en l2
)
Me gustaría producir una lista unida:
l3 = [{"index":1, "b":2, "c":4},
{"index":2, "b":3, "c":5},
{"index":3, "green":"eggs"}]
¿Cuál es la forma más eficiente de hacer esto en Python?
¿Se garantiza que el valor de la entrada "index" en el dict coincidirá con la posición de ese dict en la lista? –
No, no se garantiza que el "índice" coincida con la posición del dict en la lista. – Bacon