Pitón | Ordenar diccionarios de Python por clave o valor
Hay dos elementos en un diccionario de Python: claves y valores. Puede ordenar el diccionario por claves, valores o ambos. En este artículo, analizaremos los métodos para ordenar diccionarios por clave o valor utilizando Pitón .
Necesidad de ordenar el diccionario en Python
Necesitamos ordenar los datos para reducir la complejidad de los datos y hacer que las consultas sean más rápidas y eficientes. La clasificación es muy importante cuando tratamos con una gran cantidad de datos.
Podemos ordenar un diccionario por valores usando estos métodos:
- Primero, ordene las claves alfabéticamente usando valor clave. iterkeys() función.
- En segundo lugar, ordene las claves alfabéticamente usando el ordenado (valor_clave) función e imprimir el valor correspondiente a ella.
- En tercer lugar, ordene los valores alfabéticamente usando valor clave. iteritems() , clave = lambda (k, v): (v, k))
Ordenar diccionarios de Python por ejemplos de clave o valor
Estas son las tareas principales que deben realizarse para ordenar un diccionario por valor y claves en Python.
- Crear un diccionario y mostrar sus claves de lista alfabéticamente.
- Muestra tanto las claves como los valores, ordenados por clave en orden alfabético.
- Por último, muestre las claves y los valores, ordenados por valor en orden alfabético.
Ejemplo 1: Ordenar diccionario por clave
En este ejemplo, ordenaremos el diccionario por claves y el tipo de resultado será un diccionario.
Python3
myDict> => {> 'ravi'> :> 10> ,> 'rajnish'> :> 9> ,> > 'sanjeev'> :> 15> ,> 'yash'> :> 2> ,> 'suraj'> :> 32> }> myKeys> => list> (myDict.keys())> myKeys.sort()> sorted_dict> => {i: myDict[i]> for> i> in> myKeys}> print> (sorted_dict)> |
Producción
{'rajnish': 9, 'ravi': 10, 'sanjeev': 15, 'suraj': 32, 'yash': 2} Ejemplo 2: Mostrar las claves en orden ordenado
En este ejemplo, intentamos ordenar el diccionario por claves y valores en Python. Aquí, iterkeys() devuelve un iterador sobre las claves del diccionario.
Python3
# Function calling> def> dictionary():> > # Declare hash function> > key_value> => {}> # Initializing value> > key_value[> 2> ]> => 56> > key_value[> 1> ]> => 2> > key_value[> 5> ]> => 12> > key_value[> 4> ]> => 24> > key_value[> 6> ]> => 18> > key_value[> 3> ]> => 323> > print> (> 'Task 1:-
'> )> > print> (> 'key_value'> , key_value)> > # iterkeys() returns an iterator over the> > # dictionary’s keys.> > for> i> in> sorted> (key_value.keys()):> > print> (i, end> => ' '> )> def> main():> > # function calling> > dictionary()> # Main function calling> if> __name__> => => '__main__'> :> > main()> |
Producción
Task 1:- key_value {2: 56, 1: 2, 5: 12, 4: 24, 6: 18, 3: 323} 1 2 3 4 5 6 Ejemplo 3: ordenar el diccionario por clave
En este ejemplo, ordenaremos en orden lexicográfico tomando el tipo de clave como una cadena.
Python3
# Creates a sorted dictionary (sorted by key)> from> collections> import> OrderedDict> dict> => {> 'ravi'> :> '10'> ,> 'rajnish'> :> '9'> ,> > 'sanjeev'> :> '15'> ,> 'yash'> :> '2'> ,> 'suraj'> :> '32'> }> dict1> => OrderedDict(> sorted> (> dict> .items()))> print> (dict1)> |
Producción
OrderedDict([('rajnish', '9'), ('ravi', '10'), ('sanjeev', '15'), ('suraj', '32'), ('yash', '2')]) Ejemplo 4: Ordenar las claves y los valores alfabéticamente usando la clave
En este ejemplo, intentamos ordenar el diccionario por claves y valores en Python. Aquí estamos usando un iterador sobre el valor del Diccionario para ordenar las claves.
Python3
# function calling> def> dictionairy():> > # Declaring the hash function> > key_value> => {}> # Initialize value> > key_value[> 2> ]> => 56> > key_value[> 1> ]> => 2> > key_value[> 5> ]> => 12> > key_value[> 4> ]> => 24> > key_value[> 6> ]> => 18> > key_value[> 3> ]> => 323> > > print> (> 'key_value'> ,key_value)> > print> (> 'Task 2:-
Keys and Values sorted in'> ,> > 'alphabetical order by the key '> )> > > # sorted(key_value) returns a sorted list> > # of the Dictionary’s keys.> > for> i> in> sorted> (key_value):> > print> ((i, key_value[i]), end> => ' '> )> def> main():> > # function calling> > dictionairy()> # main function calling> if> __name__> => => '__main__'> :> > main()> |
Producción
key_value {2: 56, 1: 2, 5: 12, 4: 24, 6: 18, 3: 323} Task 2:- Keys and Values sorted in alphabetical order by the key (1, 2) (2, 56) (3, 323) (4, 24) (5, 12) (6, 18) Ejemplo 5: Ordenar las claves y los valores alfabéticamente utilizando el valor
En este ejemplo, intentamos ordenar el diccionario por claves y valores en Python. Aquí estamos usando para ordenar en orden lexicográfico.
Python3
# Function calling> def> dictionairy():> > # Declaring hash function> > key_value> => {}> # Initializing the value> > key_value[> 2> ]> => 56> > key_value[> 1> ]> => 2> > key_value[> 5> ]> => 12> > key_value[> 4> ]> => 24> > key_value[> 6> ]> => 18> > key_value[> 3> ]> => 323> > > print> (> 'key_value'> ,key_value)> > print> (> 'Task 3:-
Keys and Values sorted'> ,> > 'in alphabetical order by the value'> )> > # Note that it will sort in lexicographical order> > # For mathematical way, change it to float> > print> (> sorted> (key_value.items(), key> => lambda> kv:> > (kv[> 1> ], kv[> 0> ])))> def> main():> > # function calling> > dictionairy()> # main function calling> if> __name__> => => '__main__'> :> > main()> |
Producción
key_value {2: 56, 1: 2, 5: 12, 4: 24, 6: 18, 3: 323} Task 3:- Keys and Values sorted in alphabetical order by the value [(1, 2), (5, 12), (6, 18), (4, 24), (2, 56), (3, 323)] La complejidad temporal de este programa es O (n log n), donde n es el número de pares clave-valor en el diccionario.
La complejidad del espacio auxiliar para este programa también es O (n), donde n es el número de pares clave-valor en el diccionario.
Ejemplo 6: Ordenar diccionario por valor
En este ejemplo, intentamos ordenar el diccionario por valores en Python. Aquí utilizamos la comprensión del diccionario para ordenar nuestros valores.
Python3
# Creates a sorted dictionary (sorted by key)> from> collections> import> OrderedDict> import> numpy as np> dict> => {> 'ravi'> :> 10> ,> 'rajnish'> :> 9> ,> > 'sanjeev'> :> 15> ,> 'yash'> :> 2> ,> 'suraj'> :> 32> }> print> (> dict> )> keys> => list> (> dict> .keys())> values> => list> (> dict> .values())> sorted_value_index> => np.argsort(values)> sorted_dict> => {keys[i]: values[i]> for> i> in> sorted_value_index}> print> (sorted_dict)> |
Producción:
{'ravi': 10, 'rajnish': 9, 'sanjeev': 15, 'yash': 2, 'suraj': 32} {'ravi': 2, 'rajnish': 9, 'sanjeev': 10, 'yash': 15, 'suraj': 32} Complejidad del tiempo: O (n log n), donde n es el número de elementos del diccionario.
Espacio auxiliar: O(n), ya que estamos creando nuevas listas de claves y valores, y creando un nuevo diccionario con la misma cantidad de entradas que el diccionario original.
Hemos cubierto diferentes ejemplos basados en la clasificación del diccionario por clave o valor. Leer y practicar estos códigos Python le ayudará a comprender la clasificación en los diccionarios Python.
Puede ordenar fácilmente los valores de los diccionarios por clave o valor.
Lecturas similares:
- Ordenar un diccionario
- Diferentes formas de ordenar el diccionario por valores y reverso
- Diferentes formas de ordenar el diccionario por claves y reversa
- Formas de ordenar la lista de diccionarios por valores
- Ordenar lista de claves y valores del diccionario