Os dicionários são úteis ao armazenar dados mapeados, pois cada chave está associada ao seu valor correspondente.
Embora os dicionários não estejam em ordem, os dicionários são classificados usando Insira o pedido em versões recentes do Python.
Vamos aprender como podemos classificar um dicionário com base em valores.
Função classificada por Python
Podemos usar o classificado () função para classificar um dicionário por valor. A sintaxe da função é mostrada no seguinte:
classificado (iterável, key = Nenhum, reverso = false)Os parâmetros de função são mostrados abaixo:
Podemos usar a função classificada para classificar um dicionário por valor, conforme mostrado no exemplo a seguir:
db =No código de exemplo anterior, começamos criando o dicionário que desejamos classificar. O dicionário mantém o tipo de banco de dados como a chave e o número de registros como o valor.
Nós então usamos o classificado () função para classificar os itens em nosso dicionário. finalmente, o dB.itmes A função nos permite obter os valores do dicionário como uma lista iterável.
Isso remove a necessidade de fazer referência aos valores pelas posições do índice.
Fornecemos uma função anônima no parâmetro -chave que nos permite classificar os valores da lista.
Como queremos que nossos dados sejam classificados da maior para a menor, definimos o parâmetro reverso como "verdadeiro".
Agora, o código anterior deve retornar uma lista com os valores classificados. Para acessar os elementos, podemos usar o seguinte código para o loop:
para eu em STORNED_VALUES:
Imprimir (i [0], i [1])Aqui, ÍNDICE 0 da lista representa a chave do dicionário, enquanto ÍNDICE 1 representa o valor.
O código anterior deve retornar conforme mostrado abaixo:
PostgreSQL 20000Classificar função com itemgetter
O módulo Operador Python nos fornece o itemgetter () função e nos permite obter um objeto chamável que busque um item do operando especificado.
Em termos simples, o itemgetter (n) A função criará um objeto chamável e buscará o enésimo elemento (índice).
Por exemplo:
operador.itemgetter (3) ('abcdefg')A função acima buscará o item no terceiro índice da string fornecida. A função funciona com qualquer objeto iterável, como listas, tuplas, dicionários, etc.
Podemos combinar o itemgetter () função para classificar os valores em um dicionário, como mostrado no exemplo a seguir:
Do operador Importar ItemgetterComeçamos importando a função Itemgetter do módulo do operador no código anterior.
Em seguida, usamos o dB.Unid() função para obter os pares de valores-chave como uma lista de tuplas. Para buscar apenas os valores, usamos a função Itemgetter e passamos o índice de 1 como o parâmetro.
Isso deve retornar os valores do dicionário.
Depois de classificarmos a lista, podemos iterar sobre ela e criar um novo dicionário a partir dos valores classificados.
Isso deve devolver um dicionário classificado, como mostrado no seguinte:
'Sqlite': 100, 'MongoDB': 250, 'MySQL': 1000, 'Redis': 5000, 'PostgreSQL': 20000Observe que a ordem nisso está em ordem crescente.
Conclusão
Este artigo mostra os métodos de classificar um dicionário por valores. Usando o classificado () função, você pode definir o parâmetro reverso como "false" para classificar o dicionário em ordem crescente.