Saltar al contenido

¿Es posible ordenar un diccionario en Julia?

Solución:

Ordenar también requiere by palabra clave, lo que significa que puede hacer:

julia> sort(collect(dictionary1), by=x->x[2])
5-element Array{Tuple{Int64,Int64},1}:
 (1,6)
 (2,7)
 (3,8)
 (4,9)
 (5,19)

También tenga en cuenta que hay un SortedDict en DataStructures.jl, que mantiene el orden de clasificación, y hay un OrderedDict que mantiene inserción pedido. Finalmente, hay una solicitud de extracción que permitiría la clasificación directa de OrderedDicts (pero necesito terminarlo y comprometerlo).

Tiempo SortedDict puede ser útil si es necesario mantener el diccionario ordenado, a menudo solo es necesario ordenar el diccionario para la salida, en cuyo caso, lo siguiente puede ser lo que se requiere:

list1 = [1,2,3,4,5]
list2 = [6,7,8,9,19]
dictionary1 = Dict(zip(list1,list2))
sort(collect(dictionary1))

… que produce:

5-element Array{(Int64,Int64),1}:
 (1,6) 
 (2,7) 
 (3,8) 
 (4,9) 
 (5,19)

Podemos ordenar por valores con:

sort(collect(zip(values(dictionary1),keys(dictionary1))))

… lo que da:

5-element Array{(Int64,Int64),1}:
 (6,1) 
 (7,2) 
 (8,3) 
 (9,4) 
 (19,5)
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *