Dicionários e Métodos de Dicionário
Dicionários são talvez as estruturas de dados mais versáteis do Python. Eles armazenam dados como pares de chave-valor e são essenciais em situações onde os dados precisam ser recuperados rapidamente e modificações são frequentes.
No cenário da nossa mercearia, dicionários poderiam gerenciar de forma eficiente as informações dos fornecedores, permitindo que cada fornecedor seja acessado pelo nome ou ID sem a necessidade de buscar em uma lista.
Veja como Alex demonstra a utilização de dicionários para nossa mercearia:
Criação
Dicionários são criados envolvendo pares de chave-valor separados por vírgula entre chaves {}
.
python
Ordenação
Dicionários preservam a ordem de inserção de seus elementos, embora seja importante notar que as operações são geralmente realizadas com base nas chaves e não na posição.
Mutabilidade (Capacidade de Alteração)
Dicionários são mutáveis, permitindo adicionar, atualizar ou remover pares de chave-valor após a criação do dicionário;
Nota
Embora dicionários permitam múltiplos valores, cada chave deve ser única dentro de um dicionário. Se uma chave for repetida durante a atribuição, o valor mais recente substituirá o anterior, garantindo que cada chave tenha apenas um valor correspondente.
Exemplos
Vamos analisar um dicionário simples. Em vez de usar números de índice, você acessa os elementos do dicionário por meio de suas chaves, que, neste caso, são os nomes dos itens de mercearia.
# Dictionary creation groceryItems = { "Milk": 3.49, "Eggs": 2.99, "Bread": 1.99, "Apples": 0.99 } # Extracting dictionary elements by their keys print("Price of Milk:", groceryItems["Milk"]) print("Price of Bread:", groceryItems["Bread"])
Dicionários em Python são flexíveis quanto aos tipos de dados que podem armazenar.
A única restrição é que as chaves devem ser de um tipo imutável (inalterável) (como strings
, numbers
ou tuples
contendo apenas elementos imutáveis). Isso garante que a chave permaneça inalterada.
Por outro lado, os valores do dicionário podem ser de qualquer tipo e podem incluir tipos mutáveis (alteráveis), como listas ou outros dicionários.
Por exemplo:
# A dictionary with various types of keys and values store_info = { "Store Name": "Grocery Galore", # String key and string value 42: "Inventory Count", # Integer key and string value ("Bread", "Milk"): [2.99, 1.59] # Tuple key and list value (prices of bread and milk) } # Extracting dictionary element (list) by its key (tuple) print("Data under key ('Bread', 'Milk'):", store_info[("Bread", "Milk")])
Métodos de Dicionário
Dicionários oferecem uma variedade de operações e métodos que facilitam o gerenciamento eficiente de dados. Abaixo estão alguns dos métodos mais utilizados:
get()
: recupera o valor para uma chave especificada e, se a chave não for encontrada, retornaNone
. Isso é diferente do uso de colchetes (por exemplo,grocery_items["Milk"]
), que geraria um erro se a chave não existir;update()
: atualiza o dicionário com elementos de outro dicionário ou de um iterável de pares chave-valor, sobrescrevendo as chaves existentes;pop()
: remove uma chave especificada e retorna o valor correspondente.
Nota
Em Python,
None
é um valor especial que significa "nada" ou "sem valor", e é frequentemente utilizado para indicar que algo está vazio ou não possui resultado.
Aplicação de Exemplo
Imagine que seja necessário atualizar o dicionário de inventário da sua mercearia. Veja como isso pode ser feito utilizando métodos de dicionário:
# Dictionary for a grocery store inventory inventory = { "Apples": 30, "Oranges": 18, "Bananas": 45 } # Get the count of Oranges print("Count of Oranges:", inventory.get("Oranges")) # Update inventory by adding a new item inventory.update({"Mangoes": 20}) print("Updated Inventory:", inventory) # You can also add a new item to the end of the dictionary like this inventory["Pineapples"] = 15 print("Updated Inventory:", inventory) # Remove Bananas from the inventory removed_item = inventory.pop("Bananas") print("Removed Item:", removed_item) print("Current Inventory:", inventory)
Swipe to start coding
Gerencie o estoque de uma mercearia utilizando um dicionário, onde cada item é um par chave-valor com o nome do item e seus detalhes (ID do produto e categoria).
-
Defina um dicionário
grocery_inventory
para armazenar as informações:- "Milk": (113, "Dairy")
- "Eggs": (116, "Dairy")
- "Bread": (117, "Bakery")
- "Apples": (141, "Produce")
-
Recupere os detalhes do item
"Bread"
do dicionário e armazene-os na variávelbread_details
. -
Adicione um novo item,
"Cookies"
, com o ID do produto143
e categoria"Bakery"
. -
Remova o item
"Eggs"
do dicionário.
Requisitos de Saída
- Imprima os detalhes de
"Bread"
:Details of Bread: <$bread_details>
. - Após adicionar
"Cookies"
, imprima o estoque atualizado:Inventory after adding Cookies: <$grocery_inventory>
. - Após remover
"Eggs"
, imprima o estoque atualizado:Inventory after removing Eggs: <$grocery_inventory>
.
Solução
Obrigado pelo seu feedback!