Covil Do Dev

Como remover itens de um dicionário em Python

Está em dúvidas de como remover um item de um dicionário em Python? Veja esse artigo rápido e aprenda de uma vez por todas como fazer isso.

Lindomar Rodrigues

Atualizado

Em Python dicionários são uma estrutura de dados que armazenam informações da forma chave-valor.

No exemplo abaixo, temos um dicionário com as informações de alguns times do Brasil e sua determinada cidade.

times = {"vasco da gama": "Rio de Janeiro",
		 "sport": "Recife",
		 "Palmeiras": "São Paulo"}

Caso queira aprender tudo sobre dicionários, veja esse guia completo sobre dicionários em Python.

ad

Como remover itens de um dicionário?

Existem quatro formas padrões de se remover um item de um dicionário em Python, são elas:

  • clear()
  • del
  • pop()
  • popitem()

Método clear

O método clear é utilizado quando desejamos limpar um dicionário, isso é, remover todos os seus registros.

No exemplo abaixo, criamos um dicionário com os clubes e suas respectivas cidades, exibimos isso na tela e após isso limpamos o dicionário e exibimos novamente.

times = {"vasco da gama": "Rio de Janeiro",
		 "sport": "Recife",
		 "Palmeiras": "São Paulo"} # Cria o dicionário

print(times) # Exibe na tela

times.clear() # Limpa o dicionário

print(times) # Exibe na tela

A saída será:

{"vasco da gama": "Rio de Janeiro", "sport": "Recife", "Palmeiras": "São Paulo"}
{}

Método pop

Para remover apenas um item do dicionário podemos utilizar o método pop().

O método pop recebe como argumento a chave do item que será removido do dicionário.

No exemplo abaixo apenas o item "sport": "Recife" será removido:

times = {"vasco da gama": "Rio de Janeiro",
		 "sport": "Recife",
		 "Palmeiras": "São Paulo"} # Cria o dicionário

print(times) # Exibe na tela

times.pop("sport") # Remove o item da chave "sport"

print(times) # Exibe na tela

A saída será:

{"vasco da gama": "Rio de Janeiro", "sport": "Recife", "Palmeiras": "São Paulo"}
{"vasco da gama": "Rio de Janeiro", "Palmeiras": "São Paulo"}

O método pop além de eliminar o registro ele retorna o valor associado a essa chave, essa propriedade é bem útil em alguns casos onde elimina a necessidade de resgatar o valor antes de excluí-lo.

capitais = {"São Paulo": "São Paulo",
            "Bahia": "Salvador",
            "Goiás": "Goiânia"}

print(capitais)
# {'São Paulo': 'São Paulo', 'Bahia': 'Salvador', 'Goiás': 'Goiânia'}

valor = capitais.pop("Bahia")

print(valor)
# Salvador

print(capitais)
# {'São Paulo': 'São Paulo', 'Goiás': 'Goiânia'}

A saída será:

{'São Paulo': 'São Paulo', 'Bahia': 'Salvador', 'Goiás': 'Goiânia'}
Salvador
{'São Paulo': 'São Paulo', 'Goiás': 'Goiânia'}

Instrução del

A instrução del funciona semelhantemente ao método pop(), removendo o item pela sua chave.

O exemplo abaixo utiliza a instrução del para remover o item "sport": "Recife":

times = {"vasco da gama": "Rio de Janeiro",
		 "sport": "Recife",
		 "Palmeiras": "São Paulo"} # Cria o dicionário

print(times) # Exibe na tela

del times["sport"] # Remove o item da chave "sport"

print(times) # Exibe na tela

A saída será:

{"vasco da gama": "Rio de Janeiro", "sport": "Recife", "palmeiras": "São Paulo"}
{"vasco da gama": "Rio de Janeiro", "Palmeiras": "São Paulo"}

Método popitem

O método popitem() remove o último item do dicionário.

No exemplo abaixo, o último item do dicionário é "palmeiras": "São Paulo", por isso esse será o item removido:

times = {"vasco da gama": "Rio de Janeiro",
		 "sport": "Recife",
		 "palmeiras": "São Paulo"} # Cria o dicionário

print(times) # Exibe na tela

times.popitem() # Remove o último item o dicionário

print(times) # Exibe na tela

A saída será:

{"vasco da gama": "Rio de Janeiro", "sport": "Recife", "palmeiras": "São Paulo"}
{"vasco da gama": "Rio de Janeiro", "sport": "Recife"}

O método popitem além de exclui o último registro adicionado ao dicionário ele retorna uma tupla com a chave e o valor, nessa ordem.

capitais = {"São Paulo": "São Paulo",
            "Bahia": "Salvador",
            "Goiás": "Goiânia"}

print(capitais)
# {'São Paulo': 'São Paulo', 'Bahia': 'Salvador', 'Goiás': 'Goiânia'}

valor = capitais.popitem()

print(valor)
# ('Goiás', 'Goiânia')

print(capitais)
# {'São Paulo': 'São Paulo', 'Bahia': 'Salvador'}

A saída será:

{'São Paulo': 'São Paulo', 'Bahia': 'Salvador', 'Goiás': 'Goiânia'}
('Goiás', 'Goiânia')
{'São Paulo': 'São Paulo', 'Bahia': 'Salvador'}

Evitando erros

As 3 formas de excluir um registro do dicionário mostrado acima irá ocasionar um erro na hora de excluir um conjunto caso a chave não esteja presente no dicionário. Para evitar isso podemos utilizar o atributo default do método get, passando um valor que será retornado caso a chave não exista no objeto.

capitais = {"São Paulo": "São Paulo",
            "Bahia": "Salvador",
            "Goiás": "Goiânia"}

print(capitais)
# {'São Paulo': 'São Paulo', 'Bahia': 'Salvador', 'Goiás': 'Goiânia'}

valor = capitais.pop('Tocantins', 'Não encontrado')

print(valor)
# Não encontrado

print(capitais)
# {'São Paulo': 'São Paulo', 'Bahia': 'Salvador', 'Goiás': 'Goiânia'}

Conclusão

Remover itens de um dicionário é uma dúvida muito comum em quem começou a programar em Python recentemente, se esse for seu caso, espero que esse artigo tenha sido útil para você.

Dicionário é uma estrutura de dados muito poderosa, recomendo ver esse artigo mostrando todas as possibilidades de um dicionário em Python.

Obrigado por visitar o blog e por ler esse artigo, se tive qualquer dúvida, ideia ou sugestão, não hesite em entrar em contato pelo meu e-mail: lindomar@covildodev.com.br