Pular para o conteúdo principal

Python len(): Um guia para iniciantes sobre contagem de elementos em Python

Aprenda a usar a função len() do Python para encontrar rapidamente o tamanho de strings, listas, dicionários e outras estruturas de dados. Descubra exemplos práticos e erros comuns que você deve evitar ao trabalhar com len() em seu próprio código.
Atualizado 23 de jun. de 2025  · 6 min lido

A função len() é uma das primeiras ferramentas em que os programadores Python confiam para inspecionar dados. Você certamente já encontrou o site len() se estiver trabalhando em nosso curso Introdução ao Python para desenvolvedores ou em nosso curso de habilidades Fundamentos da programação em Python.

Neste artigo, mostrarei a você como o len() funciona no Python em todos os tipos de dados comuns e mostrarei o que você deve observar quando as coisas derem errado.

O que a função len() do Python faz?

Você pode usar a função incorporada do Python len() sempre que precisar verificar quantos itens algo contém. Estou pensando em contar o número de elementos em uma lista ou contar o número de caracteres em uma string. Você também pode usá-lo para contar as chaves em um dicionário. Há todos os tipos de uso.

Veja como você o utiliza em sua forma mais básica:

len(object)

Basta colocar o que você quiser medir (como as coisas que listei acima) no lugar de object.

Usando len() com tipos de dados comuns do Python

Listei alguns casos de uso comuns acima, mas todos eles eram um pouco abstratos. Vamos analisar exemplos comuns para tornar mais óbvio o valor do uso do len().

Contagem de caracteres em uma string

Suponha que você queira saber o tamanho exato de um trecho de texto, incluindo todos os espaços e sinais de pontuação:

word = "Josef"
print(len(word))

Isso imprime 5, pois a palavra "Josef" (com um "f") consiste em cinco caracteres.

Verificar o número de itens em uma lista

Se você quiser descobrir quantos itens uma lista contém, use isso:

numbers = [10, 20, 30, 40, 50]
print(len(numbers))

Aqui, você verá 5 como saída.

Obtendo o tamanho de uma tupla

As tuplas, assim como as listas, agrupam itens, mas são imutáveis, o que significa que não podem ser alteradas depois de criadas. len() também funciona aqui:

dimensions = (1920, 1080)
print(len(dimensions))

Isso produz 2, já que a tupla armazena dois elementos.

Contagem de chaves em um dicionário

Nos dicionários Python, você só precisa de pares de valores-chave. Quando você usa len() em um dicionário, ele conta apenas as chaves:

person = {"name": "Alice", "age": 30, "city": "Paris"}
print(len(person))

Assim, você obtém 3 (um para cada chave).

Verificação de elementos únicos em um conjunto

Os conjuntos são úteis quando você deseja armazenar apenas itens exclusivos. len() dirá a você:

colors = {"red", "green", "blue", "red"}
print(len(colors))

Isso retorna 3, já que "red" aparece duas vezes, mas é contado uma vez.

Como len() funciona nos bastidores

Você deve estar se perguntando, como eu, como o len() realmente determina o tamanho.

Por baixo, quando você chama len() em um objeto, o Python procura o método __len__ desse objeto. Os tipos incorporados, como listas, cadeias de caracteres e dicionários, têm esse método.

Saber disso nos diz que, se criarmos sua própria classe e quisermos que o len() trabalhe com ela, teremos que definir um método __len__ para nós mesmos:

class Box:
    def __init__(self, items):
        self.items = items

    def __len__(self):
        return len(self.items)

my_box = Box(["apple", "banana", "orange"])
print(len(my_box))

Aqui, len() retorna 3, porque a caixa contém três itens. Assim como fizemos com listas e cadeias de caracteres, o len() se adapta, desde que o objeto forneça um método __len__.

O que acontece quando len() não funciona?

É claro que nem tudo em Python tem um comprimento. Se você tentar usar len() em algo que não o suporta (mostrarei em um segundo com um tipo de dados int ), o Python o avisará com um TypeError. Esse é um problema comum, especialmente se você estiver trabalhando com tipos de dados mistos. Por exemplo:

num = 42 
print(len(num))

Isso gera o seguinte erro:

TypeError: object of type 'int' has no len()

Sempre que vir isso, verifique se o objeto que você está medindo é realmente um contêiner ou uma sequência (cadeia de caracteres, lista ou dicionário) e se não é um valor único, como um inteiro ou um float.

Alguns casos de uso úteis de len()

Não vamos tentar elevar os exemplos para que se assemelhem mais a situações de programação do mundo real.

Looping com um intervalo

Quando você precisa percorrer uma lista usando seus índices, o site len() ajuda a definir o intervalo correto para o loop:

fruits = ["apple", "banana", "cherry"]

for i in range(len(fruits)):
    print(f"Index {i}: {fruits[i]}")

Isso imprime cada fruta junto com seu índice, dando a você ordem e contexto.

Index 0: apple
Index 1: banana
Index 2: cherry

Verificação de recipientes vazios

Frequentemente, você desejará saber se um contêiner - como uma lista ou um dicionário - está vazio antes de prosseguir:

cart = []

if len(cart) == 0:
    print("Your shopping cart is empty.")

Esse padrão ajuda você a evitar erros ou processamento desnecessário quando não há nada com que trabalhar.

Truncando cadeias longas

Se você estiver lidando com a entrada do usuário ou exibindo rótulos, talvez queira limitar o comprimento da cadeia de caracteres. len() ajuda você a impor esses limites:

username = "superlongusername"

if len(username) > 10:
    username = username[:10]
    print(username)

Aqui, qualquer nome de usuário com mais de 10 caracteres é cortado.

Erros comuns com len()

len() pode atrapalhá-lo, mesmo que você tenha alguma experiência com Python:  

  • Você está tentando usar len() em números inteiros ou flutuantes: Os números não são coleções, portanto, não têm um comprimento.

  • Você se esquece de que len() conta itens, não valores: Em um dicionário, o len conta as chaves, mesmo que várias chaves apontem para o mesmo valor.

  • Supondo que len() funcione em tudo: As classes personalizadas precisam de um método __len__; caso contrário, o len() não saberá o que fazer.

Tente se lembrar dessas regras para economizar tempo na depuração.

Tratamento de erros com len()

Como o site len() pode gerar um TypeError se for mal utilizado, é aconselhável que você prepare seu código para essa possibilidade, especialmente ao trabalhar com dados imprevisíveis. Um bloco try-except é uma maneira simples de lidar com esses erros de forma elegante:

data = 123

try:
    print(len(data))
except TypeError:
    print("Object has no length.")

Em vez de travar, seu programa agora imprime uma mensagem amigável. Nosso curso Programação orientada a objetos em Python é um ótimo recurso para você se tornar bom nesse tipo de coisa. 

Usando len() com classes personalizadas

Vamos voltar às classes personalizadas. Uma classe personalizada é qualquer classe que você mesmo define usando a palavra-chave class - como quando você está modelando algo específico do seu programa, como Team, Box, ou Library. Anteriormente, você viu que o len() funciona em tipos incorporados, como listas e dicionários, porque eles implementam um método especial chamado __len__(). O mesmo se aplica às suas próprias classes. Se quiser que o len() funcione neles, você mesmo precisa definir o __len__().

Não estou tentando sobrecarregar você com detalhes técnicos. Acho que vale a pena mencionar isso porque é importante quando você está criando contêineres de dados personalizados que devem se comportar como coleções nativas do Python. Ao oferecer suporte a len(), seus objetos podem interagir mais naturalmente com o restante do ecossistema Python, incluindo outras funções e bibliotecas.

Aqui está uma rápida recapitulação:

class Team:
    def __init__(self, players):
        self.players = players

    def __len__(self):
        return len(self.players)

my_team = Team(["Alice", "Bob", "Cathy"])
print(len(my_team))

Novamente, len() retorna 3, que é a resposta correta, pois esse é o número de jogadores do seu time.

Conclusão

Na próxima vez que você precisar contar, medir ou verificar o tamanho de algo em Python, lembre-se de que len() é uma ótima opção.

Mas agora que chegamos ao final, quero mencionar outro aspecto importante. Nós nos concentramos em uma função, mas quase sempre há muitas maneiras diferentes de realizar algo em Python. Temos um artigo que mostra várias maneiras diferentes de encontrar o comprimento de uma lista, das quais a função len() é apenas uma opção: Tamanho da lista Python: 8 Métodos diferentes para encontrar o comprimento de uma lista em Python.

Continue praticando novos métodos. É uma maneira infalível de transformar você em um programador mais forte. E lembre-se de se inscrever em nosso programa de habilidades emprogramação Python, que ensinará a você como otimizar o código, escrever funções e testes e muito mais.


Josef Waples's photo
Author
Josef Waples
Tópicos

Aprenda Python com a DataCamp

Curso

Introduction to Python

4 h
6.3M
Master the basics of data analysis with Python in just four hours. This online course will introduce the Python interface and explore popular packages.
Ver detalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado

Tutorial

Tutorial e exemplos de funções e métodos de lista do Python

Saiba mais sobre as funções e os métodos da Lista do Python. Siga exemplos de código para list() e outras funções e métodos Python agora!
Abid Ali Awan's photo

Abid Ali Awan

7 min

Tutorial

Método list index() do Python explicado com exemplos

Aprenda a usar a função index() do Python para encontrar a posição dos elementos nas listas.
Sejal Jaiswal's photo

Sejal Jaiswal

6 min

Tutorial

Função Python Print()

Saiba como você pode aproveitar os recursos de uma simples função Python Print de várias maneiras com a ajuda de exemplos.
Aditya Sharma's photo

Aditya Sharma

10 min

Tutorial

Tutorial de Python

Em Python, tudo é objeto. Números, cadeias de caracteres (strings), DataFrames, e até mesmo funções são objetos. Especificamente, qualquer coisa que você usa no Python tem uma classe, um modelo associado por trás.
DataCamp Team's photo

DataCamp Team

3 min

Tutorial

Tutorial de compreensão de dicionário Python

Saiba tudo sobre a compreensão de dicionário do Python: como você pode usá-la para criar dicionários, substituir loops for (aninhados) ou funções lambda por map(), filter() e reduce(), ...!
Sejal Jaiswal's photo

Sejal Jaiswal

14 min

Tutorial

Tutorial de funções Python

Um tutorial sobre funções em Python que aborda como escrever funções, como chamá-las e muito mais!
Karlijn Willems's photo

Karlijn Willems

14 min

Ver maisVer mais