Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Usando Iteradores Embutidos | Python Iterators
Conceitos de Programação Funcional em Python

bookUsando Iteradores Embutidos

Deslize para mostrar o menu

O Python oferece vários iteradores embutidos que permitem processar coleções de maneira expressiva e eficiente em termos de memória. Três dos mais utilizados são enumerate, zip e map.

  • enumerate permite percorrer uma sequência acompanhando tanto o índice quanto o valor de cada elemento;
  • zip possibilita iterar sobre múltiplas sequências em paralelo, agrupando elementos correspondentes;
  • Lembre-se de que map é uma Função de Ordem Superior — um conceito já utilizado anteriormente para aplicar tarefas a dados. Aqui, reexaminamos essa mesma ferramenta sob o protocolo de iteradores. Em vez de enxergá-la apenas como uma forma de processar uma lista, agora a vemos como um objeto especializado que produz resultados sob demanda, transformando nossa compreensão de map de uma ferramenta funcional estática para um fluxo dinâmico e eficiente em memória.

Esses iteradores são indispensáveis para tarefas como processamento de listas paralelas, transformação de dados e escrita de laços concisos. Como mostrado no vídeo, utilizá-los corretamente pode simplificar o código e reduzir erros, especialmente ao lidar com conjuntos de dados grandes ou complexos.

123456
# Using enumerate and zip to process two lists in parallel names = ["Alice", "Bob", "Charlie"] scores = [85, 92, 78] for idx, (name, score) in enumerate(zip(names, scores), start=1): print(f"{idx}. {name} scored {score}")
copy

Neste código, zip(names, scores) agrupa cada nome com sua respectiva pontuação, criando um iterador de tuplas como ("Alice", 85). Ao envolver isso com enumerate, adiciona-se um contador iniciando em 1, de modo que cada iteração fornece o índice, o nome e a pontuação. O laço imprime o nome e a pontuação de cada estudante, precedidos por sua posição na lista. Essa abordagem é concisa e legível, demonstrando como os iteradores embutidos facilitam o trabalho com múltiplas sequências.

question mark

Qual é o principal objetivo de usar enumerate junto com zip neste exemplo de código?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 1

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 5. Capítulo 1
some-alt