Dicionários do Python

Dicionário (Dictionary)

O dicionário é um conjunto não ordenado, mutável e indexado. Em Python, o dicionário é escrito com chaves, possuindo chaves e valores.

Exemplo

Criar e imprimir o dicionário:

thisdict = {
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
print(thisdict)

Executar Exemplo

Acessar item

Você pode acessar o item do dicionário referindo-se ao seu nome de chave dentro dos colchetes:

Exemplo

Obter o valor da chave "model":

x = thisdict["model"]

Executar Exemplo

Existem outros nomes, como get() O método

Exemplo

Obter o valor da chave "model":

x = thisdict.get("model")

Executar Exemplo

Alterar valor

Você pode alterar o valor de um item específico referindo-se ao seu nome de chave:

Exemplo

Mudar "year" para 2019:

thisdict = {
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict["year"] = 2019

Executar Exemplo

Percorrer o dicionário

Você pode usar for Percorrer o dicionário no loop.

Ao percorrer o dicionário no loop, o valor retornado é a chave do dicionário, mas também há métodos para retornar valores.

Exemplo

Imprimir todos os nomes das chaves no dicionário um por um:

for x in thisdict:
  print(x)

Executar Exemplo

Exemplo

Imprimir todos os valores no dicionário um por um:

for x in thisdict:
  print(thisdict[x])

Executar Exemplo

Exemplo

Você também pode usar values() A função retorna os valores do dicionário:

for x in thisdict.values():
  print(x)

Executar Exemplo

Exemplo

Para percorrer as chaves e valores usando a função items():

for x, y in thisdict.items():
  print(x, y)

Executar Exemplo

Verificar se a chave existe

Para determinar se uma chave específica existe no dicionário, use in Palavra-chave:

Exemplo

Verificar se "model" existe no dicionário:

thisdict = {
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
if "model" in thisdict:
  print("Sim, 'model' é uma das chaves no dicionário thisdict")

Executar Exemplo

Tamanho do dicionário

Para determinar quantos itens (par de chave-valor) há no dicionário, use len() Método.

Exemplo

Imprimir o número de itens no dicionário:

print(len(thisdict))

Executar Exemplo

Adicionar item

Ao usar uma nova chave de índice e atribuir um valor a ela, você pode adicionar um item ao dicionário:

Exemplo

thisdict = {
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict["color"] = "red"
print(thisdict)

Executar Exemplo

Remover item

Existem várias maneiras de remover itens de um dicionário:

Exemplo

O método pop() remove o item com o nome de chave especificado:

thisdict = {
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict.pop("model")
print(thisdict)

Executar Exemplo

Exemplo

popitem() Método para remover o último item inserido (em versões anteriores a 3.7, remover item aleatório):

thisdict = {
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict.popitem()
print(thisdict)

Executar Exemplo

Exemplo

del Palavra-chave para deletar um item com nome de chave especificado:

thisdict = {
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
del thisdict["model"]
print(thisdict)

Executar Exemplo

Exemplo

del Palavra-chave também pode deletar completamente o dicionário:

thisdict = {
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
del thisdict
print(thisdict) #this causará erro, porque "thisdict" já não existe.

Executar Exemplo

Exemplo

clear() Palavra-chave para esvaziar o dicionário:

thisdict = {
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict.clear()
print(thisdict)

Executar Exemplo

copia o dicionário

Você não pode copiar um dicionário simplesmente dict2 = dict1 para copiar o dicionário, porque:dict2 é apenas uma cópia dict1 referência, enquanto dict1 As alterações também serão feitas automaticamente no dict2 no contexto.

Existem alguns métodos para fazer a cópia, um deles é usar o método interno do dicionário copy()

Exemplo

Usando copy() o método para copiar dicionários:

thisdict = {
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
mydict = thisdict.copy()
print(mydict)

Executar Exemplo

Outra maneira de fazer uma cópia é usando o método interno dict()

Exemplo

Usando dict() Métodos para criar uma cópia do dicionário:

thisdict = {
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
mydict = dict(thisdict)
print(mydict)

Executar Exemplo

Dicionários aninhados

Os dicionários também podem conter muitos dicionários, o que se chama de dicionários aninhados.

Exemplo

Crie um dicionário que contém três dicionários:

myfamily = {
  "child1" : {
    "name" : "Phoebe Adele",
    "year" : 2002
  },
  "child2" : {
    "name" : "Jennifer Katharine",
    "year" : 1996
  },
  "child3" : {
    "name" : "Rory John",
    "year" : 1999
  }
}

Executar Exemplo

Ou, se quiser anexar três dicionários já existentes como dicionários:

Exemplo

Crie três dicionários e depois crie um dicionário que contém os outros três dicionários:

child1 = {
  "name" : "Phoebe Adele",
  "year" : 2002
}
child2 = {
  "name" : "Jennifer Katharine",
  "year" : 1996
}
child3 = {
  "name" : "Rory John",
  "year" : 1999
}
myfamily = {
  "child1" : child1,
  "child2" : child2,
  "child3" : child3
}

Executar Exemplo

o construtor dict()

Também pode usar dict() O construtor cria um novo dicionário:

Exemplo

thisdict = dict(brand="Porsche", model="911", year=1963)
# Por favor, note que a palavra-chave não é uma string literal
# Por favor, note que foi usado o igual (=) em vez do dois-pontos (:) para atribuição
print(thisdict)

Executar Exemplo

Métodos de Dicionário

O Python oferece um conjunto de métodos embutidos que podem ser usados em dicionários.

Método Descrição
clear() Remover todos os elementos do dicionário
copy() Retornar uma cópia do dicionário
fromkeys() Retornar o dicionário que possui a chave e valor especificados
get() Retornar o valor do chave especificado
items() Retornar uma lista de tuplas que contém cada par de chave e valor
keys() Retornar uma lista que contém as chaves do dicionário
pop() Remover o elemento que possui a chave especificada
popitem() Remover o último par de chave e valor inserido
setdefault() Retornar o valor do chave especificado. Se a chave não existir, inserir um chave com o valor especificado.
update() Atualizar o dicionário usando um par de chave e valor especificado
values() Retornar uma lista de todos os valores do dicionário