Recuerda que en las ciencias informáticas cualquier problema casi siempere puede tener diversas soluciones, por lo tanto nosotros aquí mostraremos lo más óptimo y eficiente.
Solución:
Hay que hacer algo como lo siguiente
Merge[Association /@ "white" -> 1, "white" -> 0, "blue" -> 2,
"green" -> 1, "green" -> 2, "yellow" -> 3, Join]
%["white"]
1, 0
Cabe señalar que Suba tiene un gran enfoque y muestra el uso adecuado de Merge
en su respuesta.
Sin embargo, si puedes hacer el Association
aplicado a un List
o usar un List
de cualquier forma, hay enfoques que considero mucho más sencillos que mostraré a continuación.
Comencemos con la versión más desordenada:
Extract[[email protected][email protected]@#][#]&@[email protected]["white" -> 1,
"white" -> 0,
"blue" -> 2,
"green" -> 1,
"green" -> 2,
"yellow" -> 3]//GroupBy[#,Extract[1]->Extract[2]]&
(* <|"white" -> 1, 0, "blue" -> 2, "green" -> 1, 2,
"yellow" -> 3|> *)
Sin embargo, la sintaxis comienza a simplificarse si hay una lista contenida dentro del Association
:
Extract[1,1]@[email protected]["white" -> 1,
"white" -> 0,
"blue" -> 2,
"green" -> 1,
"green" -> 2,
"yellow" -> 3]//GroupBy[#,Extract[1]->Extract[2]]&
(* same as above *)
Finalmente, podemos realizar la implementación más limpia de este método, si somos capaces de usar un List
del Association
s:
GroupBy[
"white" -> 1,
"white" -> 0,
"blue" -> 2,
"green" -> 1,
"green" -> 2,
"yellow" -> 3,Extract[1]->Extract[2]]
(* same as above *)
Espero que esto explique un posible conjunto de alternativas. Si ya definiste series
y deseo usar eso, lamentablemente actualmente no puedo encontrar una buena solución para eso.
¡Por favor hazme saber si tienes preguntas!
Calificaciones y comentarios
Ten en cuenta comunicar este ensayo si lograste el éxito.