Da trilha de Python Este conceito ainda não saiu como card do dia. ir para o card de hoje

Python Coleções Básico

Dicionários

Dicionários em Python são coleções mutáveis que mapeiam chaves a valores. Diferente de listas, o acesso é feito pela chave, não por índice. Desde o Python 3.7, a ordem de inserção é preservada: ao iterar, os itens aparecem na ordem em que foram adicionados.

Para acessar valores com segurança, use d.get(chave, padrão) em vez de d[chave], que lança KeyError se a chave não existir. O método setdefault(chave, padrão) é útil para inicializar valores ausentes sem sobrescrever os existentes.

A iteração idiomática é feita com for chave, valor in d.items():. Também é possível percorrer apenas chaves (d.keys()) ou valores (d.values()).

Para combinar dicionários, o operador pipe | (Python 3.9+) cria um novo dicionário com os pares de ambos, dando prioridade ao da direita em caso de chaves repetidas. O método update() faz algo similar, mas modifica o dicionário original.

Pontos-chave

  • Use d.get(chave, padrao) para evitar KeyError.
  • d.setdefault(chave, padrao) insere a chave com o padrão se ela não existir.
  • Itere com for k, v in d.items(): para acessar chave e valor juntos.
  • Dicionários mantêm a ordem de inserção desde o Python 3.7.
  • O operador | mescla dicionários sem alterar os originais (Python 3.9+).
dicionarios_basico.py
estoque = {"maçã": 10, "banana": 5, "laranja": 8}

# Acesso seguro com get
print(estoque.get("uva", 0))  # 0, pois 'uva' não existe

# setdefault: insere se não existir
estoque.setdefault("uva", 0)
print(estoque["uva"])  # 0

# Iteração com items
for fruta, qtd in estoque.items():
    print(f"{fruta}: {qtd}")

# Ordem de inserção preservada
print(list(estoque.keys()))

# Merge com operador pipe
precos = {"maçã": 2.5, "banana": 1.0}
outros = {"laranja": 3.0, "uva": 4.0}
todos = precos | outros
print(todos)

Exercícios

  1. 1
    Fácil

    Contando ocorrências com get

    Crie um dicionário que conta quantas vezes cada palavra aparece na frase "python é legal e python é poderoso". Use get para incrementar o contador.

    Resolver
  2. 2
    Médio

    Agrupando números pares e ímpares com setdefault

    Dada a lista [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], crie um dicionário que agrupa os números em 'pares' e 'ímpares'. Use setdefault para inicializar as listas.

    Resolver
  3. 3
    Desafio

    Mesclando configurações com operador pipe

    Crie duas funções: config_padrao() que retorna um dicionário com {'tema': 'claro', 'fonte': 'Arial', 'tamanho': 12} e config_usuario() que retorna {'tema': 'escuro', 'tamanho': 14}. Depois, mescle os dois dicionários usando o operador |, dando prioridade às configurações do usuário. Imprima o resultado.

    Resolver

Continue estudando