Uma lista aninhada pode ser uma lista de listas ou conter vários tipos de dados. Se você criou um a partir de vários tipos de dados menores, talvez queira achatá-lo para tornar os itens mais legíveis e acessíveis.

Descubra como transformar uma lista aninhada em uma lista direta, com três abordagens diferentes.

Como achatar uma lista Python

Existem algumas maneiras de endireitar uma lista aninhada em Python, dependendo de sua complexidade. Uma lista contendo apenas listas, por exemplo, é mais fácil de nivelar do que uma com tipos de dados mistos.

Você verá como lidar com cada um deles nas seções a seguir.

Como achatar uma lista aninhada de listas com a função Sum()

Esse método se aplica apenas a uma lista de listas do Python e envolve a concatenação dos itens em uma lista aninhada. Ele não se aplica a uma lista de loops, dicionários, conjuntos ou tipos de dados mistos porque você não pode concatenar esses tipos.

Embora você possa usar o por loop para achatar uma lista de listas, o soma() função é direta e mais legível, pois é um Python one-liner:

nestedList = [[1, 3, 4], [2, 4], [7, 9, 0]]

flatList = soma (nestedList, [])
imprimir(lista plana)

# Saída: [1, 3, 4, 2, 4, 7, 9, 0]

Como usar o loop for para achatar uma lista aninhada mista

Você pode usar um Python para loop para tipos de dados mistos e homogêneos. Portanto, funciona se uma lista aninhada contém apenas listas, tuplas, conjuntos, dicionários ou sua mistura:

nestedList = [[1, 3, 4], (1, 5, 6), {1, 2, 4}, {"e": 3, "o":9, "t":7}]
flatList = []

para i em nestedList:
para k em i:
flatList.acrescentar(k)

imprimir(lista plana)

# Saída: [1, 3, 4, 1, 5, 6, 1, 2, 4, 'e', 'o', 't']

Você também pode conseguir isso com uma compreensão de lista:

flatList = [k para i em nestedList para k em i]

imprimir(lista plana)

# Saída: [1, 3, 4, 1, 5, 6, 1, 2, 4, 'e', 'o', 't']

Manipule listas Python como quiser

Uma lista Python simplifica como você apresenta e acessa dados, pois é fácil de manipular. Embora você tenha visto como nivelar uma lista Python aninhada, ainda há muitos ajustes que você pode aplicar às listas, dependendo do seu objetivo. Por exemplo, converter uma lista do Python em um dicionário é outra tarefa comum que o Python facilita.