© BEST-BACKGROUNDS/Shutterstock.com
Dicionários são uma das estruturas de dados mais essenciais em Python, e entender como usá-los pode abrir um mundo de possibilidades para seus projetos de programação. Eles são especialmente úteis ao lidar com grandes quantidades de dados ou estruturas de dados complexas, como listas ou objetos aninhados. Seja você um iniciante ou um programador experiente, este artigo fornecerá um guia abrangente de dicionários em Python, incluindo explicações detalhadas e exemplos de como defini-los e manipulá-los. Vamos mergulhar de cabeça!
O que exatamente é um dicionário em Python
Um dicionário é uma coleção não ordenada de pares chave-valor, onde cada chave é única. A chave é usada para identificar o valor associado, que pode ser qualquer tipo de objeto, incluindo strings, inteiros, floats, booleanos, listas ou até mesmo outros dicionários. Os dicionários são semelhantes às estruturas de dados às vezes chamadas de”mapas de hash”ou”arrays associativos”em outras linguagens de programação.
Ao contrário de outras estruturas de dados em Python, como tuplas, que possuem uma ordem associada a elas, os dicionários não possuem nenhuma ordem inerente. Em vez disso, um dicionário armazena cada item com base em seus pares de valor-chave. Isso é o que os torna incrivelmente versáteis e poderosos, permitindo-nos acessar rapidamente elementos específicos em nossa estrutura de dados sem ter que iterar sobre cada item.
Além disso, os dicionários, ao contrário das tuplas, são mutáveis, o que significa que você pode adicionar, modifique e remova itens deles depois de criá-los. Isso torna os dicionários estruturas de dados incrivelmente poderosas e flexíveis para uma ampla gama de tarefas de programação.
Na próxima seção, veremos como manipular dicionários e seus elementos.
Como definir/criar um dicionário em Python
Dicionários são incrivelmente eficiente em armazenar e recuperar dados. Para criar um novo dicionário em Python, você pode usar as chaves {} e separar cada par chave-valor com dois pontos. Os pares/elementos de valor-chave em um dicionário são separados por vírgulas da seguinte forma:
my_dict={“key1”: “value1”, “key2”: “value2”, “key3”: “value3” }
Aqui está um exemplo de um dicionário Python usado para armazenar uma lista de frutas:
my_dict={“apple”: 3, “banana”: 2, “cherry”: 5}
Aqui, definimos um dicionário chamado my_dict, que contém três pares chave-valor. As chaves são “apple”, “banana” e “cherry” e os valores associados a essas chaves são 3, 2 e 5, respectivamente. É importante observar que as chaves devem ser únicas; se você tentar adicionar outro item com a mesma chave, ele substituirá o existente em vez de criar uma nova entrada com um valor diferente.
Você também pode criar um dicionário vazio simplesmente usando dois conjuntos de chaves {} sem nenhum item dentro, assim:
my_empty_dict={}
Manipulando um dicionário em Python
Adicionando elementos a um dicionário Python
Depois de criar seu dicionário, você pode começar a adicionar elementos. Para isso, basta especificar sua chave, seguida de seu valor associado entre esses colchetes.
Vamos adicionar mais alguns itens ao nosso exemplo anterior:
my_dict[“pear”]=4 # Adicionando um número inteiro
my_dict[“laranja”]=“none” # Adicionando uma string
Nosso dicionário agora tem 5 elementos:
my_dict={“apple”: 3, “banana”: 2, “cherry”: 5, “ pear”: 4, “orange”: “none”}
Siga as regras de sintaxe apropriadas ao adicionar diferentes tipos de dados (por exemplo, números inteiros devem ser escritos sem aspas, conforme visto acima). Agora vamos ver como podemos ler elementos de nosso dicionário recém-preenchido.
Lendo elementos de um dicionário Python
Ler elementos de um dicionário Python é tão fácil quanto escrevê-los; tudo o que você precisa fazer é especificar a chave desejada entre colchetes [] após o nome do dicionário:
print(my_dict[“banana”]) # Outputs 2
Se você tentar acessar um elemento que não existe, o Python exibirá uma mensagem de erro informando o que deu errado. Aqui está um exemplo:
print(my_dict[“grape”]) # Saídas KeyError: grape
Isso torna a depuração muito mais fácil, pois sabemos exatamente o que precisa ser consertado.
Como atualizar um dicionário em Python
Atualizar elementos em seu dicionário Python envolve duas etapas; primeiro especificando qual elemento precisa ser atualizado e, em segundo lugar, fornecendo o novo valor que precisa ser atribuído.
A sintaxe para isso é a seguinte:
my_dict[key]=new_value
Por exemplo, se quisermos atualizar o valor associado à chave “cherry”, podemos fazê-lo usando este código:
my_dict[“cherry”]=8
É importante observar que se você tentar atualizar um elemento que não existe em seu dicionário, ele o criará automaticamente para você. Por exemplo, se usarmos o código abaixo em nosso dicionário de exemplo:
my_dict[“guava”]=2
Ele criará um elemento adicional em my_dict com a chave “goiaba” e o valor inteiro 2.
Remover elementos de um dicionário
Remover elementos de um dicionário Python envolve usar a palavra-chave del. A sintaxe para remover um elemento de um dicionário é a seguinte:
del my_dict[key]
Por exemplo, para remover o elemento associado à chave “apple” em my_dict, podemos fazer isso usando:
del my_dict[“apple”]
Você também pode remover elementos de um dicionário usando pop() método. O método pop() permite remover um elemento específico por sua chave associada e então retorna o elemento removido.
Usando nosso exemplo anterior:
my_dict.pop(“pear”) #remove o elemento com a chave “pear” e retorna o valor 4
Vejamos agora os dicionários aninhados.
Dicionários aninhados em Python
Dicionários aninhados são usados para armazenar estruturas de dados mais complexas, como coleções de objetos ou outros dicionários. A sintaxe para aninhar um dicionário dentro de outro é a seguinte:
my_dict={
“key1”: {“nested_key1”: “value1”, “nested_key2”: “value2”} ,
“key2”: {“nested_key3”: “value3”, “nested_key4”: “value4”}
}
Eles são incrivelmente úteis para organizar e manipulação de dados, como quando você precisa armazenar várias informações relacionadas sobre um único objeto.
Vamos pegar nosso exemplo de dicionário de frutas anterior e aninhá-lo em um dicionário maior chamado groceries:
groceries={“fruits”: my_dict}
Aqui criamos um novo dicionário chamado groceries e adicionamos o dicionário my_dict como um elemento com a chave “fruits”.
Também podemos manipular dicionários aninhados usando operações CRUD (Create Read Update Delete) como fizemos antes. Vejamos como isso funciona na prática.
Criando elementos aninhados em um dicionário
Para adicionar elementos adicionais a um dicionário aninhado, você pode usar a mesma sintaxe de antes; basta especificar a chave desejada, seguida de seu valor associado entre chaves {}. Por exemplo, se quiséssemos adicionar um elemento para “uvas” com valor 6 à nossa lista de compras, poderíamos fazê-lo usando este código:
mercearia[“frutas”][“uvas”]=6 # Adiciona uvas com o valor 6
Lendo elementos aninhados de um dicionário
Para acessar elementos dentro do dicionário aninhado, usamos dois conjuntos de colchetes [] com a respectiva identificação chaves. Por exemplo, se quisermos acessar o valor associado à chave “cherry” no dicionário aninhado (my_dict), usaríamos este código:
print(groceries[“ fruits”][“cherry”]) # Saídas 5
Atualizando elementos aninhados em um dicionário
Para atualizar um elemento em um dicionário aninhado, você pode usar a mesma sintaxe de antes. Basta especificar a chave desejada, seguida de seu novo valor associado entre colchetes []. Por exemplo, se quisermos atualizar o valor associado à chave “apple”, podemos fazê-lo usando este código:
groceries[“fruits”][“apple”]=4 # Updates apple’s value to 4
Remover elementos aninhados de um dicionário
Remover elementos de um dicionário aninhado é igualmente fácil. Tudo o que você precisa fazer é usar a palavra-chave del , seguida por ambas as chaves dentro de dois conjuntos de colchetes. Por exemplo, se quisermos remover o elemento com a chave “banana”, podemos fazê-lo usando este código:
del mantimentos[“frutas”][“banana”] # Remove banana from my_dict
Você também pode usar o método pop com dicionários aninhados:
groceries[“frutas”].pop(“banana”) # Remove banana de my_dict
É importante lembrar que ao manipular um elemento dentro de um dicionário aninhado, você deve especificar todas as chaves necessárias para referenciar o elemento (da mesma forma que faria em um array multidimensional). Se alguma chave estiver incorreta ou ausente, o elemento não será manipulado da maneira pretendida.
Outros métodos de dicionário
Os dicionários Python também possuem vários métodos integrados que podem ajudá-lo manipular e recuperar dados deles. Alguns dos mais úteis são .keys(), .values() e .items().
O método.keys() retorna uma lista de todas as chaves em um dicionário, enquanto o método.values() retorna uma lista de todas os valores em um dicionário.
Por exemplo, se quisermos imprimir todas as chaves em nosso dicionário de mantimentos, podemos fazê-lo usando este código:
print(groceries.keys()) # Outputs [ frutas]
O método.items() retorna todos os pares chave-valor para cada elemento do dicionário como tuplas em uma lista.
Encerrando
Dicionários são uma das estruturas de dados mais essenciais em Python e dominar os métodos básicos que examinamos ajudaria muito a liberar seu poder real em Python. Eles são incrivelmente versáteis e podem ser usados para uma ampla variedade de tarefas, desde o armazenamento simples de dados até a manipulação e análise de dados complexos. E com a capacidade de pesquisar valores ou chaves específicos rapidamente, sem ter que percorrer todos os elementos da coleção, os dicionários são uma maneira segura de levar seu jogo Python para o próximo nível!
Dicionário em Python, e como usá-lo (com exemplos) Perguntas frequentes (perguntas frequentes)
O que é um dicionário Python?
Um dicionário Python é uma coleção de pares de valor. É semelhante a um array, mas em vez de armazenar valores em uma lista indexada, ele os armazena em um formato chave-valor, onde as chaves são strings ou inteiros e os valores podem ser de qualquer tipo. Os dicionários também são conhecidos como matrizes associativas ou mapas de hash.
Como posso criar um dicionário a partir de outros tipos de dados em Python?
Você pode usar o dict () construtor para criar dicionários de outros tipos de dados, como listas ou tuplas. Por exemplo, se você tiver uma lista de tuplas como esta: my_list=[(‘key1′,’value1’), (‘key2′,’value2’)], você pode usar o construtor dict() para criar um dicionário assim:
my_dict=dict(my_list).
Como faço para percorrer um dicionário?
Percorrer um dicionário requer dois etapas: primeiro você precisa iterar sobre suas chaves usando um loop for ou while; então você precisa acessar o valor de cada elemento usando sua chave associada dentro do corpo do loop. Por exemplo:
my_dict={‘key1′:’value1′,’key2′:’value2’}
for key in my_dict:
print( my_dict[key]).
Qual é melhor entre pop() e del quando se trata de remover elementos de um dicionário em Python?
Enquanto isso depende principalmente do que você está tentando realizar, se quiser manter o item removido para uso posterior, então pop () seria uma opção melhor. No entanto, se você deseja excluir um item sem recuperá-lo, del seria mais adequado..pop() também é mais lento, pois requer uma chamada de função em vez de uma operação primitiva.
Quais são algumas das coisas que o dicionário básico do Python deve e não deve fazer?
Faça: Use um dicionário quando precisar armazenar pares chave-valor de maneira eficiente. Certifique-se de que suas chaves sejam únicas e imutáveis.
O que não fazer: use um dicionário se precisar armazenar dados em uma ordem específica; em vez disso, use uma lista.