Dicionário de classificação de Python por valor

Dicionário de classificação de Python por valor
Em Python, um dicionário refere-se a uma coleção não ordenada de itens na forma de pares de valor-chave.

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:

  1. iterável - refere -se a um objeto iterável, como um dicionário, lista, etc.
  2. chave - refere -se a uma função que funciona como a chave para o tipo
  3. reverter - permite que a função classifique o iterável em ordem inversa

Podemos usar a função classificada para classificar um dicionário por valor, conforme mostrado no exemplo a seguir:

db =
'Mysql': 1000,
'PostGresql': 20000,
'MongoDB': 250,
'Sqlite': 100,
'Redis': 5000

stored_values ​​= classificado (db.itens (), key = lambda x: x [1], reverse = true)

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 20000
Redis 5000
MySQL 1000
MongoDB 250
SQLITE 100

Classificar 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 Itemgetter
tup = classificado (db.itens (), key = itemgetter (1))
stored_values ​​= chave: valor para chave, valor em tup
Imprima (STORD_VALUES)

Começ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': 20000

Observe 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.