• Definição: Coleção de pares chave-valor. As chaves devem ser únicas e imutáveis (strings, números, tuplas). Não há ordem garantida dos elementos antes do Python 3.7; a partir do 3.7, a ordem de inserção é preservada.

  • Quando usar:

    • Quando você precisa de uma associação entre chaves e valores (ex: dados de um usuário por ID, configurações por nome).
    • Para representar dados estruturados onde cada item tem um nome ou identificador único.
  • Principais Métodos/Operações (revisão e aprofundamento):

    • Criação: meu_dicionario = {} ou meu_dicionario = {"chave": "valor"}
    • Acesso: meu_dicionario[chave] (gera KeyError se a chave não existe) ou meu_dicionario.get(chave, valor_padrao) (retorna None ou valor_padrao se a chave não existe).
    • Adicionar/Modificar: meu_dicionario[nova_chave] = novo_valor
    • Remover:
      • del meu_dicionario[chave]: Remove o par chave-valor.
      • pop(chave, valor_padrao): Remove a chave e retorna o valor.
      • popitem(): Remove e retorna o último par chave-valor inserido (em Python 3.7+).
      • clear(): Remove todos os pares.
    • Outros:
      • len(): Número de pares.
      • keys(): Retorna uma "view" das chaves.
      • values(): Retorna uma "view" dos valores.
      • items(): Retorna uma "view" dos pares (chave, valor).
      • update(outro_dicionario): Atualiza o dicionário com pares de outro dicionário.
      • dict.fromkeys(iteravel, valor): Cria um dicionário com chaves de um iterável e um valor padrão.
    aluno = {
        "nome": "Ana",
        "idade": 22,
        "curso": "Ciência da Computação"
    }
    print(f"Dicionário original: {aluno}")
    
    print(f"Nome do aluno: {aluno['nome']}") # Saída: Ana
    print(f"Curso (usando .get): {aluno.get('curso', 'N/A')}") # Saída: Ciência da Computação
    print(f"Status (usando .get com fallback): {aluno.get('status', 'Ativo')}") # Saída: Ativo
    
    aluno["idade"] = 23 # Modifica
    aluno["semestre"] = 5 # Adiciona
    print(f"Dicionário modificado: {aluno}")
    
    del aluno["curso"]
    print(f"Após deletar curso: {aluno}") # Saída: {'nome': 'Ana', 'idade': 23, 'semestre': 5}
    
    chaves = list(aluno.keys())
    print(f"Chaves: {chaves}") # Saída: ['nome', 'idade', 'semestre']
    
    for chave, valor in aluno.items():
        print(f"{chave}: {valor}")
        """
        Saída:
        nome: Ana
    		idade: 23
    		semestre: 5
    		"""