Python - Função next()
Gabarito: letra D. A função next(iterador, valor_padrao) retorna o próximo item do iterador; quando o iterador é esgotado, o segundo parâmetro opcional é retornado como valor padrão, evitando o lançamento de StopIteration. Esse é exatamente o papel do segundo argumento.
A questão testa o conhecimento da assinatura e do comportamento da função nativa next(). As demais alternativas descrevem papéis inexistentes ou trocam o conceito.
Alternativa A — ❌ Incorreta
A next() não lida com posições de memória. O iterador abstrai o acesso sequencial aos elementos, e o segundo parâmetro não tem relação com endereçamento.
Alternativa B — ❌ Incorreta
O objeto a ser iterado é passado como primeiro parâmetro (o iterador propriamente dito), não como segundo.
Alternativa C — ❌ Incorreta
Não existe "ponteiro para o início" na interface de iteradores do Python. O iterador mantém internamente seu estado, e o segundo parâmetro não altera esse comportamento.
Alternativa D — ✅ Correta ⟵ GABARITO
Exato: next(iterador, default) — se o iterador estiver vazio, retorna default em vez de levantar StopIteration.
Alternativa E — ❌ Incorreta
Uma função lambda poderia ser passada como argumento, mas não há qualquer aplicação automática dela no objeto iterado; o segundo parâmetro é unicamente um valor de retorno padrão.
Gabarito: letra D.