Executando verificação de segurança...
3

Como remover itens de um dicionário em Python

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.

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"}

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"}

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.

Carregando publicação patrocinada...
1

Complementando, alguns detalhes sobre as formas de remover.


Se a chave não existir, del e pop lançam uma exceção (KeyError):

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

del times["tabajara"] # KeyError (chave "tabajara" não existe)

# ou
times.pop("tabajara") # KeyError (chave "tabajara" não existe)

Mas o método pop permite que se use um valor default, caso a chave não seja encontrada:

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

removido = times.pop("tabajara", 'não tem') # chave "tabajara" não existe, então retorna "não tem"
print(removido) # "não tem"

Aliás, essa é outra diferença entre pop e del: o método pop, além de remover, também retorna o valor removido.

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

removido = times.pop("sport") # remove, e retorna o valor que foi removido
print(removido) # "Recife"

Já o del não retorna nada, tanto que se fizer removido = del times['sport'] dará erro.


Por fim, popitem também retorna o que foi removido, a diferença é que ele retorna uma tupla contendo a chave e o valor:

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

removido = times.popitem()
print(removido) # ('Palmeiras', 'São Paulo')

E caso o dicionário esteja vazio, popitem lança um KeyError.


Para mais detalhes, consulte a documentação oficial da linguagem.

1

Obrigado por contribuir com a postagem, muito bem lembrando esse detalhe de que os valores removidos são retornados pelo método popitem() e pop(), eu até coloquei e isso no artigo completo, mas acabei deixando passar nesse snippet que coloquei aqui no TabNews.