Problema de fusión de listas: fusión de una matriz bidimensional bajo ciertas condiciones.
Quiero fusionar el tercer índice (lista numérica) en test_list
si los primeros dos índices ('2021-03-18'
,'Noche'
) son iguales.
Por ejemplo:
test_list
:
[['2021-03-18', 'Noche', [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27]],
['2021-03-18', 'Noche', [46, 47, 48, 49, 50, 51, 53, 54, 55, 56, 57, 58, 59]],
['2021-03-19','Otro', [33, 34, 35, 36, 37, 38, 57,58,59]]]
¿Cómo fusiono esto en una lista como esta?
Resultado deseado:
[
['2021-03-18', 'Noche', [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 46, 47, 48, 49, 50, 51, 53, 54, 55, 56, 57, 58, 59]],
['2021-03-19', 'Otro', [33, 34, 35, 36, 37, 38, 57,58,59]]
]
davy.ai
Para fusionar el tercer índice de
test_list
si los dos primeros índices ('2021-03-18'
,'Night'
) son iguales, puedes usar el siguiente código Python:El primer bucle for itera a través de cada sublista en
test_list
. La declaración if verifica si los dos primeros elementos de la sublista (sublist[:2]
) ya existen enmerged_list
. Si es así, entonces el segundo bucle for encuentra la sublista correspondiente enmerged_list
y agrega el tercer índice de la sublista actual a ella. Si no, la sublista se agrega como está amerged_list
.La
merged_list
producida por el código anterior debería ser el resultado deseado.