Dicionários em Python
Em Python, as coleções de dados (frequentemente chamadas genericamente de "listas" por iniciantes) são estruturas fundamentais para organizar informações de forma eficiente na memória do computador. Para estudantes de lógica, é importante diferenciar os quatro tipos principais baseados em suas propriedades de ordenação, mutabilidade e unicidade:
- Listas (
list): São coleções ordenadas e mutáveis, representadas por colchetes[]. Elas permitem armazenar diferentes tipos de dados simultaneamente (como números, textos e até outras listas) e possibilitam a adição, remoção ou modificação de seus elementos a qualquer momento. O acesso aos itens é feito através de um índice numérico, que em Python sempre inicia no zero. - Tuplas (
tuple): Funcionam de forma semelhante às listas, sendo ordenadas e acessadas por índices, mas com a diferença crucial de serem imutáveis. Uma vez criada (usando parênteses()), uma tupla não pode ter seus valores alterados, sendo ideal para dados que devem permanecer constantes, como coordenadas geográficas. - Conjuntos (
set): São coleções de elementos únicos e desordenados, definidos por chaves{}. Eles são extremamente úteis para eliminar duplicatas automaticamente e realizar operações matemáticas de união ou intersecção, pois o Python remove entradas repetidas e não garante uma ordem fixa para os itens. - Dicionários (
dict): Diferente das outras estruturas que usam índices numéricos, os dicionários organizam os dados em pares de chave e valor dentro de chaves{}. Para acessar uma informação, você utiliza uma "chave" descritiva (como um rótulo em uma gaveta), o que torna a estrutura muito eficiente para representar objetos do mundo real, como o cadastro de um cliente.
Além dessas, na lógica de programação costuma-se utilizar os termos Vetor (para arrays unidimensionais) e Matriz (quando uma lista contém outras listas, formando uma estrutura multidimensional), conceitos essenciais para manipular tabelas e dados complexos.
Usando Dicionários
Para criar um registro prático integrando essas ferramentas, você deve utilizar uma função (definida pela palavra-chave def) para capturar os dados e um dicionário (definido por chaves {}) para organizá-los em pares de chave e valor.
Abaixo, apresento um exemplo passo a passo de uma função de registro de clientes, integrando-a a uma lista para armazenamento permanente, conforme sugerido em nossa conversa anterior:
Exemplo Prático: Função de Registro de Clientes
Neste cenário, a função recebe as informações como parâmetros, monta o dicionário e o devolve para ser guardado em uma lista composta.
# 1. Lista para armazenar todos os registros (banco de dados)
banco_clientes = []
# 2. Função que cria o registro usando um dicionário
def registrar_cliente(nome, idade, profissao):
# Retorna um dicionário estruturado com as informações recebidas
return {
"nome": nome,
"idade": idade,
"profissao": profissao
}
# 3. Execução do registro e armazenamento na lista
novo_registro = registrar_cliente("Ana Silva", 30, "Engenheira")
banco_clientes.append(novo_registro) # Adiciona o dicionário à lista
# Exibindo o resultado
print(f"Cliente cadastrado: {banco_clientes}")
Explicação dos Conceitos Utilizados:
- Estrutura de Chave e Valor: O dicionário permite que você acesse a informação de forma descritiva. Em vez de apenas salvar "Ana Silva", você salva que a chave "nome" tem o valor "Ana Silva".
- Retorno de Valor (
return): A função não apenas executa o código, mas "devolve" o dicionário pronto para o programa principal, permitindo que ele seja manipulado ou salvo em outras estruturas. - Adição Dinâmica: Como visto nas fontes, se você precisar adicionar uma nova informação a um dicionário já existente (como um "ID" ou "Status"), basta informar a nova chave entre colchetes e atribuir o valor; se a chave não existir, o Python a criará automaticamente.
- Escalabilidade: Ao utilizar o método
.append(), você pode repetir a chamada da função diversas vezes dentro de um laço de repetição (forouwhile), criando um banco de dados com milhares de registros organizados.