logo

Como classificar um dicionário em Python

O dicionário Python é a coleção de dados armazenados na forma de valor-chave. Cada chave está associada ao seu valor. É de natureza mutável, o que significa que podemos alterar os dados após sua criação.

É a coleta não ordenada dos dados e permite armazenar valores duplicados, mas a chave deve ser única.

se mais no bash shell

O dicionário é declarado usando chaves {} e o par chave-valor é separado por uma vírgula.

 dict1 = {'name': 'Devansh', 'age': 22, 'Rollno':90014} print(dict1) 

Saída:

Por que precisa classificar o dicionário

  • A complexidade do tempo de pesquisa da lista é O(n), e o dicionário tem complexidade de tempo de pesquisa 0(1), o que faz com que o dicionário seja mais rápido que a lista. O dicionário pode ser usado para listar sempre que necessário.
  • A classificação nos permite analisar os dados de forma eficiente quando trabalhamos com a estrutura de dados.
  • Um dicionário classificado fornece uma melhor compreensão para lidar com operações complexas.

Vamos entender as várias maneiras de classificar o dicionário.

  • Classificando por chaves
  • Classificando por valores
  • Algoritmo de classificação
  • Invertendo a ordem de classificação

Classificando por chaves e valores

Pitão oferece as funções de teclas integradas, funções keys() evalues() para classificar o dicionário. Toma qualquer iterável como argumento e retorna a lista ordenada de chaves. Podemos usar as teclas para classificar o dicionário em ordem crescente. Vamos entender o exemplo a seguir.

Exemplo -

 names = {1:'Alice' ,2:'John' ,4:'Peter' ,3:'Andrew' ,6:'Ruffalo' ,5:'Chris' } #print a sorted list of the keys print(sorted(names.keys())) #print the sorted list with items. print(sorted(names.items())) 

Saída:

 [1, 2, 3, 4, 5, 6] [(1, 'Alice'), (2, 'John'), (3, 'Andrew'), (4, 'Peter'), (5, 'Chris'), (6, 'Ruffalo')] 

Explicação -

No código acima, declaramos um dicionário nomes . Usamos a função integrada junto com o classificado() função que retornou a lista das chaves classificadas. A seguir, usamos o Unid() função para obter o dicionário na ordem de classificação.

Algoritmo de classificação

Existem vários algoritmos de classificação para classificar um dicionário; podemos usar outros argumentos no método classificado. Vamos entender o exemplo a seguir.

Exemplo -

 daynames = { 'one' : 'Monday' , 'six' : 'Saturday' ,'three' : 'Wednesday' , 'two' : 'Tuesday' , 'five': 'Friday' , 'seven': 'Sunday' } print(daynames) number = { 'one' : 1 , 'two' : 2 , 'three' : 3 , 'four' : 4 , 'five' : 5 , 'six' : 6 , 'seven' : 7} print(sorted(daynames , key=number.__getitem__)) print([daynames[i] for i in sorted(daynames , key=number.__getitem__)]) 

Saída:

 {'one': 'Monday', 'six': 'Saturday', 'three': 'Wednesday', 'two': 'Tuesday', 'five': 'Friday', 'seven': 'Sunday'} ['one', 'two', 'three', 'five', 'six', 'seven'] ['Monday', 'Tuesday', 'Wednesday', 'Friday', 'Saturday', 'Sunday'] 

Reverter a ordem classificada

O dicionário pode ser invertido usando o reverter argumento. Vamos entender o exemplo a seguir.

Exemplo -

 a = {'a':2 ,'b':1 ,'c':3 ,'d':4 ,'e':5 ,'f':6 } print(sorted(a.values() , reverse= True)) 

Saída:

 [6, 5, 4, 3, 2, 1] 

Neste tutorial, discutimos como classificar o dicionário em Python. Um dicionário classificado é fácil de lidar com a grande quantidade de dados e nos fornece um resultado de pesquisa rápido.