Pular para o conteúdo principal

Listas: blocos de tamanho N

Neste tutorial, você vai trabalhar com listas e aprender uma forma eficiente de dividir listas de tamanhos arbitrários em blocos de um tamanho definido.
Atualizado 17 de set. de 2026  · 5 min lido

Explorar com IA

ChatGPTClaudePerplexity

Listas são estruturas de dados nativas do Python que armazenam itens heterogêneos e permitem acesso eficiente a esses itens. A tarefa de dividir listas em blocos de tamanho N é muito comum quando há um limite de itens que seu programa pode processar em uma única solicitação.

Listas

Listas são estruturas de dados que podem conter valores ou itens de tipos variados. Exemplos de itens são inteiros, floats, strings etc. Listas são mutáveis, ou seja, você pode alterar o conteúdo de uma lista sem mudar sua identidade. Elas são escritas com colchetes [ ], e os itens são separados por vírgula (,). Vamos criar uma lista de números para praticar...

# Criando uma lista com 95 números
list_numbers = list(range(1, 96))
print(list_numbers)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95]

A função range() gera uma sequência de números. Ela segue o formato: range([start], stop[, step]), em que "start" e "step" são parâmetros opcionais. start é o número inicial da sequência; stop é o limite superior, ou seja, gera números até ele, mas sem incluí-lo; step é a diferença entre cada número da sequência. Essa função é indexada a partir de 0, o que significa que, quando o início não é especificado, os índices da lista começam em 0, não em 1.

Agora, digamos que você precise quebrar a lista em listas menores, cada uma com 5 elementos.

Uma forma de fazer isso é definindo um gerador. Um gerador é uma maneira elegante de definir um iterador. E o que é um iterador? Em poucas palavras, é um objeto que sabe como calcular e retornar o próximo item do objeto que está sendo percorrido. Você pode ler mais sobre iteradores e geradores no tutorial de iteradores em Python da DataCamp.

Definimos uma função que contém o gerador que faz o trabalho para nós.

 # Retorna, em sequência, blocos de tamanho 'n' da lista 'list_name'
def create_chunks(list_name, n):
    for i in range(0, len(list_name), n):
        yield list_name[i:i + n]

# Chame a função 'create_chunks' para dividir a lista em sublistas de 10 itens cada
print(list(create_chunks(list_numbers, 10)))

[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [11, 12, 13, 14, 15, 16, 17, 18, 19, 20], [21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [31, 32, 33, 34, 35, 36, 37, 38, 39, 40], [41, 42, 43, 44, 45, 46, 47, 48, 49, 50], [51, 52, 53, 54, 55, 56, 57, 58, 59, 60], [61, 62, 63, 64, 65, 66, 67, 68, 69, 70], [71, 72, 73, 74, 75, 76, 77, 78, 79, 80], [81, 82, 83, 84, 85, 86, 87, 88, 89, 90], [91, 92, 93, 94, 95]]

Outra forma de fazer o mesmo é usando list comprehension. Você pode saber mais no tutorial de list comprehension em Python da DataCamp.

print([list_numbers[i: i+10] for i in range(0, len(list_numbers), 10)])

[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [11, 12, 13, 14, 15, 16, 17, 18, 19, 20], [21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [31, 32, 33, 34, 35, 36, 37, 38, 39, 40], [41, 42, 43, 44, 45, 46, 47, 48, 49, 50], [51, 52, 53, 54, 55, 56, 57, 58, 59, 60], [61, 62, 63, 64, 65, 66, 67, 68, 69, 70], [71, 72, 73, 74, 75, 76, 77, 78, 79, 80], [81, 82, 83, 84, 85, 86, 87, 88, 89, 90], [91, 92, 93, 94, 95]]

À medida que o problema fica mais complexo, as expressões de list comprehension podem se tornar difíceis de entender e depurar. Por isso, escrever uma função limpa, como com o gerador, pode ser mais útil e fácil de manter.

Neste tutorial, você viu duas maneiras de resolver um problema bem frequente ao trabalhar com listas. Confira o curso Data Types for Data Science da DataCamp.

Tópicos
Ciência de dados
Python

Cursos de Python

Curso

Introdução ao Python

4 h
7M
Domine os fundamentos da análise de dados com Python em quatro horas e explore pacotes populares.
Ver detalhesRight Arrow
Iniciar Curso
Ver maisRight Arrow
Relacionado

Tutorial

Como dividir listas em Python: Exemplos básicos e métodos avançados

Aprenda a dividir listas Python com técnicas como slicing, compreensão de listas e itertools. Descubra quando usar cada método para um tratamento ideal dos dados.
Allan Ouko's photo

Allan Ouko

11 min

Tutorial

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

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

Abid Ali Awan

7 min

Tutorial

Instruções IF, ELIF e ELSE em Python

Neste tutorial, você vai aprender só sobre as instruções if else do Python.
Sejal Jaiswal's photo

Sejal Jaiswal

9 min

Tutorial

Como comentar um bloco de código em Python

O uso de comentários é fundamental para trabalhar efetivamente com Python. Neste breve tutorial, aprenda a comentar um bloco de código em Python.
Adel Nehme's photo

Adel Nehme

3 min

Tutorial

Tutorial de estruturas de dados Python

Introdução às estruturas de dados do Python: saiba mais sobre tipos de dados e estruturas de dados primitivas e não primitivas, como strings, listas, pilhas etc.
Sejal Jaiswal's photo

Sejal Jaiswal

24 min

Tutorial

Tutorial sobre loops em Python

Um tutorial introdutório completo sobre loops em Python. Aprenda e pratique loops while e for, loops aninhados, as palavras-chave break e continue, a função range e muito mais!
Satyabrata Pal's photo

Satyabrata Pal

15 min

Ver MaisVer Mais