O tipo de dado Dictionary, diferente dos tipos Set, Tuple e Lista, consiste em um estrutura de dados que armazena seus em elementos no formato chave-valor.

Algumas características

  1. Dinâmico
  2. Ordenado(Python 3.7+)
  3. Acesso randômico a elementos
  4. Permite elementos duplicados

Na parte inicial vamos aprender algumas operações básicas e mais adiante os métodos nativos para manipulação seus elementos.

O tipo de dado Dictionary tem sua instanciação feita de acordo com a sintaxe abaixo:

Sintaxe
nome_variavel = {} # vazio
nome_variavel = dict()
nome_variavel = {chave1:valor1,chave2:valor2,chaveN:valorN}
Onde
-

A tipo de dado Dictionary aceita que seus elementos chave-valor sejam heterogêneos.

Exemplo 1
dic = {1:3,2:'A',3:"String"}

print(dic)
Saída
{1: 3, 2: 'A', 3: 'String'}

Para adicionar novos elementos em um Dictionary, utilizamos o indexador [] que recebe uma nova chave como argumento e também a atribuição de um valor utilizando o operador (=).

Sintaxe
nome_variavel[chave]=valor
Onde
chave: nova da chave do elemento
valor: valor do elemento
Exemplo 2
dic = {1:3,2:'A',3:"String"}

print(dic)
dic[4]=1.99
print(dic)
Saída
{1: 3, 2: 'A', 3: 'String'}
{1: 3, 2: 'A', 3: 'String', 4: 1.99}

Para ter acesso a um elemento de um Dictionary, utilizamos o indexador [] que recebe uma posição ou índice como argumento.

Sintaxe
nome_variavel[chave]
Onde
chave: nome da chave que representa o elemento.
Exemplo 3
dic = {1:3,2:'A',3:"String"}

print(dic)
print(dic[3])
Saída
{1: 3, 2: 'A', 3: 'String'}
String

Para alterarmos o valor de um elemento em um Dictionary, utilizamos o o indexador [] que recebe uma posição ou índice tendo um valor atribuído utilizando o operador (=).

Sintaxe
nome_variavel[chave] = valor
Onde
chave: nome da chave do elemento
valor: valor do elemento
Exemplo 4
dic = {1:3,2:'A',3:"String"}

print(dic)
dic[3] = "String Python"
print(dic)
Saída
{1: 3, 2: 'A', 3: 'String'}
{1: 3, 2: 'A', 3: 'String Python'}

Para removermos elementos de um Dictionary utilizamos o método pop como mostrado na sintaxe abaixo. Uma chave é passada como argumento para o método que remove e retorna o elemento removido.

Sintaxe
nome_variavel.pop(chave)
Onde
chave: nome da chave do elemento
Exemplo 5
dic = {1:3,2:'A',3:"String"}

print(dic)
ret = dic.pop(3)
print(dic)
print(ret)
Saída
{1: 3, 2: 'A', 3: 'String'}
{1: 3, 2: 'A'}
String

Para termos conhecimento do número de elementos contido em um Dictionary, utilizamos a função len que retorna um inteiro contendo o número de elementos.

Sintaxe
len(object)
Exemplo 6
dic = {1:3,2:'A',3:"String"}

print(dic)
print(len(dic))
Saída
{1: 3, 2: 'A', 3: 'String'}
3

Para percorrermos um Dictionary, podemos utilizar o comando for-in. Esse comando foi visto em Python: Comandos de Repetição.

Exemplo 6
dic = {1:3,2:'A',3:"String"}

for ch in dic:
    chave = ch
    valor = dic[ch]
    print(chave,":",valor)
Saída
1 : 3
2 : A
3 : String

Podemos utilizar o tipo de dado Dictionary como parâmetro de um método assim como qualquer outro tipo de dados como foi visto em Python: Função.

Sintaxe
def nome_funcao(parametro_dictionary):
  #corpo
Onde
-
Exemplo 7
dic = {1:3,2:'A',3:"String"}

def funcao(dic):
    for ch in dic:
        chave = ch
        valor = dic[ch]
        print(chave,":",valor)
        
funcao(dic)
Saída
1 : 3
2 : A
3 : String

A tipo Dictionary fornece métodos para manipular seus dados. Abaixo uma lista de todos os métodos.

Método Descrição Link
clear Remove todos os elementos Visitar
copy Retorna uma cópia Visitar
fromkeys Retorna um novo dicionário com base em chaves e valores Visitar
get Retorna o valor de uma baseado em uma chave Visitar
items Retorna uma lista contendo tuplas chave-valor Visitar
keys Retorna uma lista contendo todas as chaves Visitar
pop Remove um elemento baseado em sua chave Visitar
popitem Remove o último elemento inserido Visitar
setdefault Retorna o valor associado a uma chave. Visitar
values Retorna uma lista contendo todos os valores Visitar

Com o método clear, podemos remover todos os elementos contidos em um Dictionary. Esse método não recebe argumentos e não possui retorno.

Sintaxe
clear()
Onde
-
Retorno
None
Exemplo
dic = {1:3,2:'A',3:"String"}

print(dic)
dic.clear()
print(dic)
print(len(dic))
Saída
{1: 3, 2: 'A', 3: 'String'}
{}
0

Utilizando o método copy, podemos realizar a cópia de todos elementos de um Dictionary em um novo Dictionary que é retornado pelo método.

Sintaxe
variavel_dictionary.copy()
Onde
-
Retorno
None
Exemplo
dic = {1:3,2:'A',3:"String"}

print(dic)
dic2 = dic.copy()
print(dic2)
Saída
{1: 3, 2: 'A', 3: 'String'}
{1: 3, 2: 'A', 3: 'String'}

Com o método fromkeys, podemos criar um novo dicionário baseado em chaves e valor passados como argumento para esse método. Um novo dictionary é retornado.

Sintaxe
variavel_dictionary.fromkeys(chaves,valor)
Onde
valor: valor do elemento
chaves: chaves do elementos
Retorno
Novo dicionário contendo chaves e valor como elementos
Exemplo
chaves = {3,'A',"String"}
valor = 999

dic = dict.fromkeys(chaves,valor)
print(dic)
Saída
{3: 999, 'String': 999, 'A': 999}

Com o método get, podemos recuperar o valor de um elemento baseado em sua chave que é passada como argumento para esse método.

Sintaxe
variavel_dictionary.get(chave)
Onde
-
Retorno
Valor do elemento
Exception
-
Exemplo
lista = [1,0xff,"String"]
lista2 = ['A',1.99,1]

print(lista)
lista.extend(lista2)
print(lista)
Saída
 
dic = {1:3,2:'A',3:"String"}

print(dic)
elem = dic.get(3)
print(elem)

Utilizando o método items, podemos recuperar uma lista contendo tuplas(Tuple) chave-valor para cada elemento do dicionário.

Sintaxe
variavel_dictionary.itens()
Onde
-
Retorno
List contendo tuplas chave-valor
Exception
-
Exemplo
dic = {1:3,2:'A',3:"String"}

print(dic)
lst = dic.items()
print(lst)
Saída
 
{1: 3, 2: 'A', 3: 'String'}
dict_items([(1, 3), (2, 'A'), (3, 'String')])

Utilizando o método keys podemos recuperar uma lista contendo todas as chaves que representam os elemnentos de um dicionário.

Sintaxe
variavel_dictionary.keys()
Onde
-
Retorno
List contendo todos as chaves
Exemplo
dic = {1:3,2:'A',3:"String"}

print(dic)
lst = dic.keys()
print(lst)
Saída
{1: 3, 2: 'A', 3: 'String'}
dict_keys([1, 2, 3])

O método pop é utilizados remover um elemento e uma determinada posição de um Dictionary. O elemento removido é retornado pelo método pop.

Sintaxe
variavel_dictionary.pop(chave)
Onde
-
Retorno
Valor associado a chave
Exemplo
ldic = {1:3,2:'A',3:"String"}

print(dic)
el = dic.pop(3)
print(el)
print(dic)
Saída
{1: 3, 2: 'A', 3: 'String'}
String
{1: 3, 2: 'A'}

Com método popitem, podemos remover o último elemento adicionado ao Dictionary sendo esse elemento também retornado pelo método.

Sintaxe
variavel_dictionary.popitem()
Onde
-
Retorno
Último elemento adicionado
Exemplo
dic = {1:3,2:'A',3:"String"}

print(dic)
el = dic.popitem()
print(el)
print(dic)
Saída
{1: 3, 2: 'A', 3: 'String'}
(3, 'String')
{1: 3, 2: 'A'}

Utilizando o método setdefault, podemos recuperar um valor associado à uma chave. Se a chave não existir, a mesma é adiciona e assiado ao valor passado como argumento para o método.

Sintaxe
variavel_dictionary.setdefault(chave,valor)
Onde
-
Retorno
Valor associado a chave
Exemplo
dic = {1:3,2:'A',3:"String"}

print(dic)
el = dic.setdefault(4,"String Python")
print(el)
print(dic)
Saída
{1: 3, 2: 'A', 3: 'String'}
String Python
{1: 3, 2: 'A', 3: 'String', 4: 'String Python'}

Utilizando o método chaves podemos recuperar uma lista contendo todas os valor de um dicionário.

Sintaxe
variavel_dictionary.values()
Onde
-
Retorno
List contendo todos os valores
Exemplo
dic = {1:3,2:'A',3:"String"}

print(dic)
lst = dic.values()
print(lst)
Saída
{1: 3, 2: 'A', 3: 'String'}
dict_values([3, 'A', 'String'])
  1. 19/09/2024 - revisão 1 - Correção de 'Removendo Elemento', Ex. 5; remoção de 'update'; ajustes gramaticais;
  2. 15/02/2024 - versão inicial