Pitão

Python OrderedDict

Python OrderedDict

Estruturas de dados são os componentes essenciais de qualquer linguagem de programação que armazena e gerencia os dados de forma eficiente. Python fornece muitas estruturas de dados integradas, i.e., listas, tuplas e dicionários, que ajudam os programadores a criar aplicativos eficientes. Os dicionários Python armazenam os dados em pares chave-valor. O OrderedDict é a subclasse da classe dict e mantém a ordem das chaves nas quais foram inseridas em. Esta é a única diferença entre o dict e o OrderDict. O dict não mantém a ordem da chave.

O OrderedDict mantém a ordem de inserção das chaves e, quando iteramos por meio do OrderedDict, ele retorna as chaves na mesma ordem. Por outro lado, quando a iteração é realizada em dict, as chaves são retornadas em ordem aleatória. No entanto, os dicionários agora estão ordenados em Python 3.6 e versões superiores e retornam os valores na mesma ordem em que foram inseridos. A classe OrderedDict existe no módulo de coleções. Portanto, para usar a classe OrderedDict, primeiro importe o módulo de coleções. Este artigo explica o Python OrderedDict em detalhes com exemplos.

Exemplos

Vamos criar um OrderedDict em nosso script Python e adicionar os dados na forma de chaves e valores. O items () é a função Python embutida que retorna as chaves e informações de valores.

#importing o módulo de coleções
importar coleções
#creating an OrderedDict
my_dict = coleções.OrderedDict ()
meu_dito ["A"] = 1
meu_dito ["B"] = 2
meu_dito ["C"] = 3
meu_dito ["D"] = 4
#declarar um loop for para iterar por meio de OrderDict
para mim em my_dict.Itens():
imprimir (i)

Resultado

Na saída, pode-se observar que o OrderedDict retorna as chaves e valores nos mesmos que inseridos.

Agora vamos criar outro OrderDict de um aluno e armazenar as informações do aluno nele.

#importing o módulo de coleções
importar coleções
#creating an OrderedDict of student
std_dict = coleções.OrderedDict ()
std_dict ['name'] = 'John'
std_dict ['idade'] = 23
std_dict ['email'] = '[email protegido]'
std_dict ['class'] = 'BS'
#declarar um loop for para iterar por meio de OrderDict
para i em std_dict.Itens():
imprimir (i)

Resultado

Alterar os valores das chaves

Podemos alterar o valor da chave específica de OrderedDict. Se alterarmos o valor de qualquer chave específica, a ordem das chaves permanecerá a mesma no OrderDict. Vamos alterar o valor da idade no aluno OrderDict.

#importing o módulo de coleções
importar coleções
#creating an OrderedDict of student
std_dict = coleções.OrderedDict ()
std_dict ['name'] = 'John'
std_dict ['idade'] = 23
std_dict ['email'] = '[email protegido]'
std_dict ['class'] = 'BS'
print ("A ordem das chaves antes de alterar o valor da idade:")
#declarar um loop for para iterar por meio de OrderDict
para i em std_dict.Itens():
imprimir (i)
#changing the age value
std_dict ['idade'] = 25
print ("A ordem das chaves após alterar o valor da idade:")
para i em std_dict.Itens():
imprimir (i)

Resultado

O resultado mostra que a ordem das chaves permanece a mesma quando alteramos o valor de uma determinada chave.

Excluindo o valor de OrderedDict

Excluir os valores de OrderDict não altera a ordem das chaves. Se excluirmos uma chave específica e a reinserirmos, ela será adicionada no final. Vamos ver um exemplo disso. Vamos deletar a chave 'idade' do dicionário do aluno e, em seguida, inseri-la novamente.

#importing o módulo de coleções
importar coleções
#creating an OrderedDict of student
std_dict = coleções.OrderedDict ()
std_dict ['name'] = 'John'
std_dict ['idade'] = 23
std_dict ['email'] = '[email protegido]'
std_dict ['class'] = 'BS'
print ("A ordem das chaves antes de alterar o valor da idade:")
#declarar um loop for para iterar por meio de OrderDict
para i em std_dict.Itens():
imprimir (i)
#excluindo a chave de idade
del std_dict ['idade']
print ("A ordem das chaves após excluir a chave de idade:")
para i em std_dict.Itens():
imprimir (i)
# reinserindo a chave de idade e o valor
std_dict ['idade'] = 23
print ("A ordem das chaves após a reinserção da chave de idade:")
para i em std_dict.Itens():
imprimir (i)

Resultado

Na saída, pode-se ver que quando reinserimos uma chave, ela é inserida no final.

Conclusão

O OrderedDict é a subclasse de dict que organiza a chave em sequência e preserva a ordem à medida que são inseridas. A classe OrderedDict faz parte do módulo de coleções. Este artigo explica OrderedDict e sua funcionalidade com exemplos.

Tutorial OpenTTD
OpenTTD é um dos jogos de simulação de negócios mais populares que existem. Neste jogo, você precisa criar um maravilhoso negócio de transporte. No en...
SuperTuxKart para Linux
SuperTuxKart é um ótimo título projetado para trazer a você a experiência Mario Kart gratuitamente em seu sistema Linux. É bastante desafiador e diver...
Tutorial de Battle for Wesnoth
The Battle for Wesnoth é um dos jogos de estratégia de código aberto mais populares que você pode jogar no momento. Este jogo não está apenas em desen...