Pular para o conteúdo

Como achatrar uma lista em Python

[

Como Aplanar uma Lista de Listas em Python

Às vezes, quando você está trabalhando com dados, pode ter os dados como uma lista de listas aninhadas. Uma operação comum é aplanar esses dados em uma lista unidimensional em Python. Aplanar uma lista envolve a conversão de uma lista multidimensional, como uma matriz, em uma lista unidimensional.

Para ilustrar melhor o que significa aplanar uma lista, digamos que você tenha a seguinte matriz de valores numéricos:

matrix = [
[9, 3, 8, 3],
[4, 5, 2, 8],
[6, 4, 3, 1],
[1, 0, 4, 5],
]

A variável matrix contém uma lista em Python que contém quatro listas aninhadas. Cada lista aninhada representa uma linha na matriz. As linhas armazenam quatro itens ou números cada. Agora, digamos que você deseja transformar essa matriz na seguinte lista:

[9, 3, 8, 3, 4, 5, 2, 8, 6, 4, 3, 1, 1, 0, 4, 5]

Como você pode aplanar sua matriz e obter uma lista unidimensional como a acima? Neste tutorial, você aprenderá como fazer isso em Python.

Como Aplanar uma Lista de Listas com um Loop for

Como você pode aplanar uma lista de listas em Python? Em geral, para aplanar uma lista de listas, você pode seguir as seguintes etapas, explicitamente ou implicitamente:

  1. Criar uma nova lista vazia para armazenar os dados aplanados.
  2. Iterar sobre cada lista aninhada na lista original.
  3. Adicionar cada item da sublista atual à lista de dados aplanados.
  4. Retornar a lista resultante com os dados aplanados.

Para continuar com o exemplo da matrix, veja como você traduziria essas etapas em código Python usando um loop for e o método .extend():

def aplanar_estender(matrix):
lista_aplanada = []
for linha in matrix:
lista_aplanada.extend(linha)
return lista_aplanada

Dentro de aplanar_estender(), você primeiro cria uma lista vazia chamada lista_aplanada. Você usará esta lista para armazenar os dados aplanados quando extraí-los da matrix. Em seguida, você inicia um loop para iterar sobre as listas aninhadas da matrix. Neste exemplo, você usa o nome linha para representar a lista aninhada atual.

Agora, execute o seguinte código para verificar se sua função faz o trabalho:

matrix = [
[9, 3, 8, 3],
[4, 5, 2, 8],
[6, 4, 3, 1],
[1, 0, 4, 5],
]
resultado = aplanar_estender(matrix)
print(resultado)

Você deverá ver a lista unidimensional aplanada impressa no console.

Conclusão

Aplainar uma lista de listas em Python é uma tarefa comum ao lidar com dados multidimensionais. Neste tutorial, você aprendeu como aplanar uma lista usando um loop for e o método .extend(). Essa abordagem é legível e direta, tornando mais fácil entender o processo de aplanamento.

Existem outras maneiras de realizar essa tarefa, cada uma com suas próprias vantagens e desvantagens. É importante explorar diferentes abordagens e escolher a que melhor se adequa ao seu caso de uso específico.

Agora que você sabe como aplanar uma lista de listas em Python, você está pronto para lidar com dados multidimensionais de forma eficiente e simplificada. Experimente as diferentes abordagens e aproveite os benefícios de trabalhar com listas aplanadas em seus projetos de programação.