Pular para o conteúdo

Como Aplanar uma Lista de Listas em Python

CodeMDD.io

Como aplanar uma lista de listas em Python

Às vezes, ao trabalhar com dados, você pode ter os dados como uma lista de listas aninhadas. Uma operação comum é a aplanar esses dados em uma lista unidimensional em Python. A aplanar uma lista envolve converter uma lista multidimensional, como uma matriz, em uma lista unidimensional.

Para ilustrar melhor o que significa aplanar uma lista, suponha 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” armazena 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ê queira transformar essa matriz na seguinte lista:

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

Como você consegue 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

Como você pode aplanar uma lista de listas em Python? Em geral, para aplanar uma lista de listas, você pode seguir os seguintes passos, de forma explícita ou implícita:

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

Você pode seguir vários caminhos e usar várias ferramentas para executar esses passos em Python. Em geral, a forma mais natural e legível de fazer isso é usando um loop for, que permite iterar explicitamente sobre as sublistas.

Em seguida, você precisa de uma maneira de adicionar itens à nova lista aplanada. Para isso, há algumas opções válidas. Primeiro, você pode usar o método .extend() da própria classe list, e depois pode usar o operador de concatenação aumentado (+=).

Continuando com o exemplo da matrix, aqui está como você pode traduzir esses passos em código Python usando um loop for e o método .extend():

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

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

Em cada iteração, você usa .extend() para adicionar o conteúdo da sublista atual à lista_aplanada. Esse método recebe um iterável como argumento e adiciona seus itens ao final da lista de destino.

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

print(aplanar_extend(matrix))

Ao executar esse código, você deve ver a lista aplanada resultante impressa no console.

Existem outras maneiras de aplanar uma lista de listas em Python, como o uso de compreensões de lista ou funções da biblioteca padrão e incorporadas. No entanto, o método acima é uma abordagem simples e legível para aplanar uma lista de listas usando um loop for e o método .extend().

Discussões semelhantes também podem ser aplicadas ao trabalhar com bibliotecas populares, como NumPy, que oferecem funções específicas projetadas para trabalhar com arrays multidimensionais. A escolha da abordagem dependerá do contexto e dos requisitos específicos do seu projeto.

Conclusão

A planificação de uma lista de listas é uma operação comum ao trabalhar com dados aninhados em Python. Neste tutorial, você aprendeu como aplanar uma lista de listas usando um loop for e o método .extend(). Essa abordagem fornece uma maneira simples e legível de converter uma matriz ou lista de listas em uma lista unidimensional. No entanto, existem outras maneiras de realizar essa tarefa em Python, dependendo das necessidades do seu projeto.

Quando você trabalha com dados aninhados, é importante entender como aplanar listas de listas para manipulação e análise eficientes. Ao dominar essa habilidade fundamental, você se tornará um programador mais versátil e capaz de lidar com uma variedade de problemas de processamento de dados.