• Home

    Escolha seu Plano

    Carreiras Alura

    Evolua com profundidade técnica, direção clara e aplicação prática.

    Jornadas guiadas do básico ao avançado com checkpoints práticos, desenhadas para quem busca profundidade e protagonismo técnico.

    Iniciante

    Comece do zero com uma trilha clara e progressiva.

    Fundamentos práticos para dar os primeiros passos com segurança e construir uma base sólida.

    Intermediário

    Continue sua evolução com cursos que conectam fundamentos, ferramentas e prática profissional. Ganhe autonomia, e avance para projetos mais completos.

    Avançado

    Aprofunde temas técnicos e estratégicos para enfrentar desafios mais complexos. Explore boas práticas, arquitetura, performance com visão profissional.

    Cursos

    Ver mais cursos de Back-end
    • Pensamento computacional: fundamentos da computação e lógica de programação
    • Lógica de programação: mergulhe em programação com JavaScript
    • DDD: fundamentos do design orientado a domínio
    • ASP.NET: autenticação e autorização em APIs e aplicações web
    • Microsserviços: migração de monólitos e modularização

    Cursos

    Ver mais cursos de Dados
    • Python para Dados: primeiros passos
    • Excel: domine o editor de planilhas
    • Engenharia de Dados: Orquestração de Pipelines com Apache Airflow
    • Power BI Desktop: construindo meu primeiro dashboard
    • Governança e Arquitetura de Dados

    Cursos

    Ver mais cursos de Inteligência Artificial
    • IA: Explorando o Potencial da Inteligência Artificial Generativa
    • Engenharia de Prompt: Criando Prompts Eficazes para IA Generativa
    • Claude para Análise de Dados: prompts, integrações e automações
    • Agno: criando agentes e sistemas multiagente
    • Engenharia de software na era da IA: segurança de aplicações com agentes, MCPs e código gerado por IA

    Cursos

    Ver mais cursos de Front-end
    • HTML e CSS: ambiente, estrutura e estilo
    • React: realizando testes avançados com Jest e Testing Library
    • React: integrando TypeScript em projetos
    • JavaScript: aprendendo a programar
    • React: aplicando arquiteturas de Micro frontends

    Cursos

    Ver mais cursos de DevOps
    • Sistema Operacional Linux: fundamentos e administração prática
    • Containers e Docker: empacotamento, isolamento e gestão
    • Redes: dos conceitos iniciais à criação de uma intranet
    • Linux: gerenciando diretórios, arquivos, permissões e processos
    • Cibersegurança: Fundamentos e práticas integradas

    Cursos

    Ver mais cursos de UX & Design
    • UX Research: mapeando a experiência da pessoa usuária
    • UX/UI Design: Entregando produtos digitais com IA
    • UI Design: Prototipação e animações interativas
    • Figma: Conhecendo o programa
    • Product Design: métricas e ciclo de vida do produto

    Cursos

    Ver mais cursos de Gestão & Negócios
    • Canva: Criação de landing pages e e-mail marketing
    • Agilidade: como ela pode ajudar a criar um time de alta performance
    • Google Analytics 4: Extrair insights e configurar eventos
    • Management 3.0: gerencie o ambiente, não as pessoas
    • Automação de processos com n8n: Inteligência de dados para Marketing

    Cursos

    Ver mais cursos de Mobile
    • React Native: Estilização e Layouts com Flexbox e StyleSheet
    • Flutter: Graphql e suporte offline
    • Android com Gemini: Trabalhando com textos e imagens na IA
    • Dart: trabalhando com orientação a objetos
    • React Native: Dominando Listas com FlatList e ScrollView

    Carreiras

    Ver mais carreiras
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA

    Cursos

    • Engenharia de Prompt: Prompts Eficazes para IA Generativa
    • Claude Code: Criando sua Primeira Aplicação
    • Python: Crie sua Primeira Aplicação
    • Git e GitHub: Compartilhando e Colaborando
    • N8N: Fluxos de Trabalho Avançados

    Cursos

    • Copilot Studio: Solução Multiagentes
    • Padrões de API HTTP e Modelagem de APIs
    • Python para Análise de Dados com SQL
    • Docker: Criando e Gerenciando Containers
    • Design com IA: Otimizando o Processo Criativo

    Cursos

    • Model Context Protocol (MCP)
    • Spec-Driven Development: Dev Assistido por Agentes
    • Arquitetura de Sistemas Distribuídos com Java
    • Governança de Modelos e Reprodutibilidade
    • Pentest: Vulnerabilidades em Aplicações Web

    Escolha seu Plano

    Skills & Go

    O Skills & Go é para Tech Leads, Product Managers, estrategistas e early adopters que transformam ideias em soluções de alto impacto. Em cursos ao vivo e 100% online, você domina a nova era da IA em tempo real.

    Aulas ao vivo

    Saiba mais
    • Agentic Engineering: orquestre múltiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA

    Escolha seu Plano

    Eventos Alura

    Nossos eventos são pensados para quem quer estar à frente das mudanças em tecnologia, IA e inovação. Em experiências presenciais, você acompanha tendências e se conecta com especialistas que estão moldando o futuro.

    Próximos eventos

    • Imersão Engenharia de Software: Dev na Era da IA
    • IA Conference
    • Alura Signals
  • Talent Lab
  • IA

    Escolha seu Plano

    Conteúdos gratuitos

    Explore conteúdos gratuitos para aprender tecnologia no seu ritmo. Encontre artigos com conteúdos técnicos para aprender na prática, notícias para acompanhar as principais tendências do mercado e o Alura Labs, com análises e reflexões de especialistas sobre tecnologia, IA e carreira.

    Conteúdos gratuitos

    • Artigos
    • Notícias
    • Alura Labs
  • Para Empresas
Ver planos
Links principais
  • Planos e Promoções
  • Links complementares do menu mobile
  • Talent lab
  • Inteligência Artificial
  • Pós Graduações
  • Para Empresas
  • Sobre a Alura
  • Grupo Alun
  • Entrar
    • Home
    • Carreiras
    • Skills & Go
    • Talent Lab
    • Inteligência Artificial
    • Pós Graduações
    • Artigos
    • Sobre a Alura
    • Grupo Alun
    LoginContato
    • LinkedIn
    • Instagram
    • YouTube
    1. Página inicial
    2. Back-end
    3. Operações com listas em Python: como somar elementos, encontrar tamanho e manipular listas

    Operações com listas em Python: como somar elementos, encontrar tamanho e manipular listas

    10 min10 minutos de leitura

    Alura

    10 min10 minutos de leitura

    Publicado: 09/05/2018

    Última atualização: 8 de Junho

    1. O que são listas em Python e para que servem?
    2. Como somar elementos de uma lista em Python
    3. Somando os elementos de uma lista com a função sum()
    4. Como saber o tamanho de uma lista em Python
    5. Como calcular a média de uma lista em Python
    6. Como remover um elemento de uma lista em Python
    7. Como filtrar e criar listas em Python usando compreensão de listas
    8. Como contar elementos dentro de uma lista em Python
    9. Principais operações com listas em Python: resumo
    10. Veja também: aprofundando em listas Python

    O que são listas em Python e para que servem? 

    Se você quer aprender como somar elementos de uma lista em Python, calcular a média, contar elementos ou remover valores de listas, este artigo mostra o passo a passo das principais operações com listas em Python.  

    Veja exemplos práticos e dicas para manipular listas de forma eficiente usando funções como sum(), len(), remove(), count() e compreensões de lista do Python. 

    Todo esse processo seria feito de forma automática, utilizando Python. As notas da turma foram armazenadas em uma estrutura de lista: 

    notas = [0, 0, 9.0, 8.0, 5.0, 10.0, 7.0, 7.5, 4.0, 10.0, 7.0, 7.0, 8.0, 8.0, 7.5] 

    Para calcular a média aritmética de uma lista de números, somamos todos os valores e dividimos pelo total de elementos. Então, precisamos descobrir dois valores: a soma das notas e a quantidade de notas. 

    Banner do Guia Tático Alura sobre carreira em tecnologia, destacando o mapa da carreira tech. A imagem convida a explorar diferentes caminhos profissionais, comparar possibilidades e encontrar a próxima fase da carreira na área de tecnologia, com chamada “Explore o mapa”.

    Como somar elementos de uma lista em Python 

    Para somar todos os elementos da lista, vamos começar inicializando nossa variável que conterá o resultado da soma das notas com o valor `0`, indicando que a soma ainda não foi feita: 

    soma_das_notas = 0 

    Assim, uma abordagem que podemos seguir é por meio da iteração sobre as notas, para cada nota, soma-se seu valor à variável `soma_das_notas`, dessa forma: 

    for nota in notas: 
        soma_das_notas += nota 
    print(soma_das_notas)

    E o resultado da soma: 

    98.0 

    Funciona perfeitamente! Mas será que não há uma maneira mais simples de somar todos os elementos de uma lista? 

    Somando os elementos de uma lista com a função sum() 

    A função sum Python é a forma mais recomendada para somar valores de uma lista Python, seja para listas pequenas ou grandes. Se você já pesquisou como fazer soma em Python ou como somar todos os valores de uma lista Python, essa função resolve de forma simples e eficiente. 

    Vamos usar essa nova abordagem: 

    notas = [0, 0, 9.0, 8.0, 5.0, 10.0, 7.0, 7.5, 4.0, 10.0, 7.0, 7.0, 8.0, 8.0, 7.5] 
    # código omitido 
    soma_das_notas = sum(notas) 
    print(soma_das_notas)

    Novamente, o resultado esperado: 

    98.0 

    Não só é mais simples usar a função `sum()` do que implementar um algoritmo de soma nós mesmos, como sua performance é muito melhor - um loop `for` é executado como bytecode Python interpretado, enquanto a função `sum()` é escrita puramente na linguagem C. 

    Agora que já sabemos a soma das notas, precisamos descobrir a quantidade delas. 

    Como saber o tamanho de uma lista em Python 

    A quantidade de notas é o tamanho da lista. Podemos, é claro, contar nós mesmos e armazenar essa contagem em uma variável: 

    qtd_de_notas = 15 

    Tudo bem, mas essa abordagem seria problemática caso a lista mudasse de tamanho, ou até mesmo se a lista fosse maior (imagine contar número a número em uma lista de mais de 100 elementos!) 

    Se já trabalhamos com outras linguagens de programação, provavelmente vimos que geralmente há uma maneira nativa mais simples para se calcular o tamanho de uma lista. No Python isso não é diferente! 

    A função built-in len() retorna o comprimento de um objeto cuja classe implementa esse método, como, por exemplo, uma string ou, no nosso caso, uma lista. Vamos testá-la com a lista de notas: 

    notas = [0, 0, 9.0, 8.0, 5.0, 10.0, 7.0, 7.5, 4.0, 10.0, 7.0, 7.0, 8.0, 8.0, 7.5] 
    #código omitido 
    qtd_de_notas = len(notas) 
    print(qtd_de_notas)

    E o resultado é o esperado: 

    15 

    Como calcular a média de uma lista em Python 

    Agora que temos os dois valores que precisávamos, vamos calcular a média utilizando a fórmula `soma_dos_numeros / quantidade_de_numeros`: 

    media_das_notas = soma_das_notas / qtd_de_notas 
    print(media_das_notas)

    Agora já temos a média: 

    6.5333 

    O resultado foi divulgado aos alunos, que responderam com reclamações - a nota foi mais baixa do que o esperado. 

    Após analisar as notas, percebemos que a média estava sendo calculada incluindo as notas 0 de duas pessoas estudantes que faltaram no dia da prova, o que não era justo! 

    Precisamos, então, remover essas notas 0 de nossa lista e recalcular a média. 

    Como remover um elemento de uma lista em Python 

    Agora que já temos nossa lista completa, como podemos remover um elemento de dentro dela? Para isso, o Python nos traz o método remove(), que recebe como parâmetro o valor que queremos remover de nossa lista. Vamos testar: 

    notas = [0, 0, 9.0, 8.0, 5.0, 10.0, 7.0, 7.5, 4.0, 10.0, 7.0, 7.0, 8.0, 8.0, 7.5] 
    notas.remove(0) 
    print(notas)

    Veja o resultado: 

    [0, 9.0, 8.0, 5.0, 10.0, 7.0, 0, 7.5, 4.0, 10.0, 7.0, 7.0, 8.0, 8.0, 7.5] 

    Ok! Conseguimos remover um dos 0, mas o outro ainda ficou. Por que será? Acontece que o método `remove()` remove apenas o primeiro elemento encontrado cujo valor é igual ao parâmetro passado, não todos os elementos com esse valor. 

    Precisamos, então, chamar o método `remove()` duas vezes? Tudo bem, isso daria certo, mas e se, em vez de duas, tivéssemos dez notas 0. Será que realmente precisaríamos repetir uma mesma linha de código dez vezes? Isso não parece o ideal. 

    Conhecendo o Python e lógica de programação, uma abordagem intuitiva para esse problema seria iterar sobre a lista com um loop `for` e remover o valor caso ele seja igual a 0, para não precisarmos nos preocupar com a quantidade de notas 0. Vamos tentar: 

    notas = [0, 0, 9.0, 8.0, 5.0, 10.0, 7.0, 7.5, 4.0, 10.0, 7.0, 7.0, 8.0, 8.0, 7.5] 
    for nota in notas: 
    if nota == 0: 
            notas.remove(nota) 
    print(notas)

    E o resultado: 

    [0, 9.0, 8.0, 5.0, 10.0, 7.0, 7.5, 4.0, 10.0, 7.0, 7.0, 8.0, 8.0, 7.5] 

    Ué! De novo sobrou um 0! Por quê, dessa vez? Nesse caso, o que houve foi uma confusão entre o laço `for` e o método `remove()`. 

    O `for` itera sobre os elementos de uma lista por meio do índice - ou seja, ele começa com o elemento na posição 0, passa pro elemento na posição 1 e assim por diante, até que o índice (a posição) atinja o comprimento da lista. 

    O método `remove()`, por sua vez, ao apagar um elemento, realoca os outros dentro da lista para que não haja um espaço vazio no lugar onde havia o elemento removido. Quando removemos um elemento da lista, a lista realmente diminui de tamanho! 

    Sabendo disso, vamos fazer uma simulação passo a passo para tentar entender o que aconteceu: 

    Primeira iteração: índice = 0, lista = [0, 0, 9.0, 8.0, 5.0, 10.0, 7.0, 7.5, 4.0, 10.0, 7.0, 7.0, 8.0, 8.0, 7.5] 

    Segunda iteração: índice = 1, lista = [0, 9.0, 8.0, 5.0, 10.0, 7.0, 7.5, 4.0, 10.0, 7.0, 7.0, 8.0, 8.0, 7.5] 

    Note que o segundo `0` foi ignorado pelo `for`! Quando o `for` chegou ao índice 1, onde estava esse `0` inicialmente, o `0` já havia sido realocado para o índice 0, resultando nesse problema. 

    Por isso, devemos sempre lembrar que é recomendável nunca alterar uma lista enquanto se itera sobre ela! 

    Precisamos de uma forma melhor de remover todas as ocorrências de um mesmo valor em uma lista. 

    Como filtrar e criar listas em Python usando compreensão de listas 

    Já conhecemos uma técnica no Python chamada de compreensão de lista. Como podemos usá-la para resolver nosso problema? Queremos uma lista com todos os valores da nossa lista de notas, contanto que o valor seja maior que 0. 

    Vamos lá, então: 

    notas = [0, 0, 9.0, 8.0, 5.0, 10.0, 7.0, 7.5, 4.0, 10.0, 7.0, 7.0, 8.0, 8.0, 7.5] 
    notas_validas = [nota for nota in notas if nota > 0] 
    print(notas_validas)

    E agora sim: 

    [9.0, 8.0, 5.0, 10.0, 7.0, 7.5, 4.0, 10.0, 7.0, 7.0, 8.0, 8.0, 7.5] 

    Enfim, basta recalcularmos a média com essa nova lista de notas: 

    media_valida = sum(notas_validas) / len(notas_validas) 
    print(media_valida)

    Dessa vez, uma média melhor para os alunos: 

    7.538461538461538 

    Após a média ser calculada e arredondada para 7.5, a professora quis conferir se seu método de avaliação tinha sido efetivo - isto é, se a nota da sala realmente representava como os alunos tinham se saído na prova. 

    Para isso, ela precisava calcular quantos alunos tiraram a nota na média, com uma margem de diferença de 0.5 (ou seja, quantos alunos tiraram uma nota entre 7 e 8). 

    Como contar elementos dentro de uma lista em Python 

    Para contar quantas vezes um elemento aparece numa lista, podemos usar o método count() dessa forma: 

    qtd_de_setes = notas.count(7.0) 
    print(qtd_de_setes)

    E o resultado: 

    3 

    Para de fato fazermos o que queremos, precisamos usar o método com três valores - 7, 7.5 e 8: 

    qtd_alunos_na_media = notas.count(7.0) + notas.count(7.5) + notas.count(8.0) 
    print(qtd_alunos_na_media)

    O resultado: 

    8 

    Nesse caso, a solução usando count() funciona bem, pois sabemos que queremos apenas esses três valores (`7.0`, `7.5` e `8.0`). 

    Mas se a lista tivesse valores como 7.1, 7.2... até 8.0, precisaríamos fazer um count() para cada valor? Isso tornaria o processo trabalhoso e pouco eficiente. 

    Uma outra abordagem que poderia ser utilizada, que evitaria o problema de haver mais valores no intervalo que queremos contar, seria utilizar um laço for e armazenar o valor da contagem em uma variável, dessa forma: 

    notas = [0, 0, 9.0, 8.0, 5.0, 10.0, 7.0, 7.5, 4.0, 10.0, 7.0, 7.0, 8.0, 8.0, 7.5] 
    qtd_alunos_na_media = 0 
    for nota in notas: 
    if 7.0 <= nota <= 8.0: 
            qtd_alunos_na_media += 1 
    print(qtd_alunos_na_media)

    Temos o mesmo resultado: 

    8 

    Juntando o que aprendemos do método sum() e de compreensão de lista, e sabendo que no Python a classe bool, que representa os tipos booleanos, herda da classe int (True é igual a 1 e False é igual a 0), podemos até fazer isso de uma forma bem mais sucinta: 

    Dica de performance: para listas muito grandes, você pode usar uma generator expression (trocando [] por () ou removendo os colchetes) para economizar memória: 

    qtd_alunos_na_media = sum(7.0 <= nota <= 8.0 for nota in notas)
     
    notas = [0, 0, 9.0, 8.0, 5.0, 10.0, 7.0, 7.5, 4.0, 10.0, 7.0, 7.0, 8.0, 8.0, 7.5] 
    qtd_alunos_na_media = sum([7.0 <= nota <= 8.0 for nota in notas]) 
    print(qtd_alunos_na_media)

    Temos o mesmo resultado: 

    8 

    Principais operações com listas em Python: resumo 

    Neste artigo, exploramos a utilidade das listas em Python, quando utilizá-las e quais operações básicas podemos realizar. 

    Ao longo deste artigo, vimos como somar elementos de uma lista Python usando sum(), como fazer soma em Python, como contar elementos ou saber o tamanho de uma lista Python, como remover itens de listas, como calcular média e até como criar listas de acordo com sua necessidade.

    Com essas técnicas de operações básicas com listas em Python, seu código fica mais prático e eficiente. 

    Veja também: aprofundando em listas Python 

    Quer aprender mais sobre listas em Python? Dê uma olhada nos nossos outros posts no blog sobre o assunto e aprenda mais sobre adicionar elementos a uma lista, ordenar uma lista e até conheça a funcionalidade da compreensão de lista. 

    Além disso, pode ser legal dar uma lida na documentação das listas no Python, para conhecer mais possibilidades no tratamento delas. 

    Outro assunto muito interessante é como trabalhar com dicionários em Python. 

    Gostou do conteúdo? Está mais confiante para usar listas no Python, agora? Que tal aprender um pouco mais? Confira nossa formação Python para web e continue estudando! 

    Avalie este artigo 

    ✨ Agradecemos pela sua avaliação! ✨ 

    Banner do Guia Tático Alura sobre carreira em tecnologia, destacando o mapa da carreira tech. A imagem convida a explorar diferentes caminhos profissionais, comparar possibilidades e encontrar a próxima fase da carreira na área de tecnologia, com chamada “Explore o mapa”.

    Avalie este artigo

    • Foto de Yan Orestes

      Autor(a)

      Yan Orestes

    Explore por tópico

    • Back-end
    • Dados
    • DevOps
    • Front-end
    • Gestão & Negócios
    • Institucionais
    • Inteligência Artificial
    • Mobile
    • UX & Design

    Leia também

    • 01/05/2016

      Utilizando o padrão ViewHolder

      Ler mais
    • 26/11/2018

      Matplotlib: como criar gráficos no Python, guia prático com exemplos

      Ler mais
    • 22/01/2013

      Como medir a coesão do seu código? A métrica LCOM

      Ler mais
    Ver mais conteúdos

    Inscreva-se em nossa Newsletter

    Fique por dentro de conteúdos, insights e oportunidades do universo tech. Receba novidades e lançamentos direto no seu e-mail.

    Institucional

    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status
    Institucional
    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status

    A Alura

    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes
    A Alura
    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes

    Conteúdos

    • Alura Cases
    • Imersão Engenharia de Software: Dev na Era da IA
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Conteúdos
    • Alura Cases
    • Imersão Engenharia de Software: Dev na Era da IA
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Alura