Dicionários

<< Clique para Mostrar o Sumário >>

 

Dicionários

Este tipo de dados consiste de um conjunto associativo, comumente chamado de dicionário, no qual as informações são armazenadas em uma estrutura do tipo chave-valor. Os elementos do conjunto são separados por vírgulas e, neste caso, os índices devem ser informados juntamente com os respectivos valores separados por dois pontos. Neste caso, os índices também costumam ser chamados de chave, uma vez que esta informação é utilizada para se acessar o conteúdo relacionado à chave. Exemplos:

In [1]: x = {'ex_int':1, 'ex_float':2.5, 'ex_str':'item-3', 'ex_list':[7, 8, 9], 'ex_bool':True}
In [2]: print(x)
{'ex_list':[7, 8, 9], 'ex_int':1, 'ex_float':2.5, 'ex_str':'item-3', 'ex_bool':True}
In [3]: print(x['ex_list'])
[7, 8, 9]
In [4]: x['ex_list2'] = [9, 8, 7]
In [5]: print(x)
{'ex_bool':True, 'ex_int':1, 'ex_list':[7, 8, 9], 'ex_list2':[9, 8, 7], 'ex_float':2.5, 'ex_str':'item-3'}

 

A primeira linha cria um dicionário com cinco elementos e o armazena na variável x, enquanto a segunda linha imprime na tela o seu conteúdo.

A terceira linha imprime na tela apenas o conteúdo referente à chave ex_list do dicionário, enquanto a quarta linha adiciona mais um elemento ao dicionário referenciado a uma nova chave, ex_list2.

Por fim, a última linha imprime novamente o conteúdo da variável x na tela, onde é possível constatar o novo elemento que foi adicionado ao dicionário no passo anterior.

 

NOTA

Os índices (chaves) não precisam necessariamente ser Strings, também é possível utilizar tuplas, bem como utilizar ambos simultaneamente como índices. Vale ressaltar esta outra característica de estruturas de dados imutáveis, a qual possibilita a sua utilização como índice (chave) para a referência a valores em estruturas associativas como em um dicionário.

 

ATENÇÃO

O operador de atribuição (sinal de igual), quando utilizado com uma variável que contém um dicionário, apenas cria uma referência (equivalente a um ponteiro em C/C++) a este dicionário. Caso a intenção seja criar uma cópia do dicionário, é necessário usar explicitamente o seu método copy.

In [1]: x = {'ex_int':1, 'ex_float':2.5, 'ex_str':'item-3', 'ex_list':[7, 8, 9], 'ex_bool':True}
In [2]: y = x
In [3]: y['ex_str'] = 'item-99'
In [4]: print(x)
{'ex_list':[7, 8, 9], 'ex_int':1, 'ex_float':2.5, 'ex_str':'item-99', 'ex_bool':True}
In [5]: z = x.copy()
In [6]: z['ex_str'] = 'item-11'
In [7]: print(x)
{'ex_list':[7, 8, 9], 'ex_int':1, 'ex_float':2.5, 'ex_str':'item-99', 'ex_bool':True}
In [8]: print(z)
{'ex_list':[7, 8, 9], 'ex_int':1, 'ex_float':2.5, 'ex_str':'item-11', 'ex_bool':True}

Esta página foi útil?