Python

Como fazer uma lista única por meio de várias listas no Python

10 de maio de 2020

Como fazer uma lista única por meio de várias listas no Python

Neste artigo veremos como fazer uma lista única por meio de várias lista no Python, ou seja, condensar várias listas em uma de um modo simples.

transformar varias listas em uma no python capa

Fala programador(a), tudo bem? Vamos aprender mais sobre listas em Python!

Para atingir este objetivo temos algumas possibilidades, a primeira que queremos mostrar vamos fazer um loop com outro loop dentro, utilizaremos o for

O primeiro loop percorre todas as listas, já o segundo percorre cada item nas listas e adiciona na lista principal que será a nossa única

Vamos ver um exemplo: 

a = [1,2,3,4]
b = [5,6,7,8]
c = [9,10]

listaComListas = [a,b,c]

listaUnica = []

for l in listaComListas:
  for i in l:
    listaUnica.append(i)

print(listaUnica)

Desta maneira o loop percorre as listas a, b e c, e o loop dentro de cada lista adiciona com append o item a listaUnica

Outra possibilidade é utilizar a biblioteca itertools

Teremoso mesmo resultado, porém em menos linhas de código

Veja um exemplo:

import itertools

a = [1,2,3,4]
b = [5,6,7,8]
c = [9,10]

listaComListas = [a,b,c]

listaUnica = list(itertools.chain(*listaComListas))

print(listaUnica)

A saída de ambas opções será:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Uma outra maneira interessante, porém deve ser evitada em produção por causa da performance

É utilizando Monoids, basicamente vai somando as listas passadas ao segundo argumento que será uma lista vazia

Veja o exemplo:

a = [1,2,3,4]
b = [5,6,7,8]
c = [9,10]

listaComListas = [a,b,c]

listaUnica = sum(listaComListas, [])

print(listaUnica)

Além do problema de performance, esta declaração é muito implicita

Ou seja, não segue os padrões do código Pythonico, então deve ser evitada e apenas aprendida por curiosidade hehe

á você verá outros pontos que o assert aborda

Conclusão

Neste artigo vimos como fazer uma lista única por meio de várias listas

Utilizamos diversas abordagens como: for e for, itertools e um monoid

Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube

Subscribe
Notify of
guest
2 Comentários
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
WILSON SANTANA

tem como fazer isso no share point?

Battisti

oi Wilson, não sei te dizer, nunca programei pra Share Point.. =(

2
0
Would love your thoughts, please comment.x