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.
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
tem como fazer isso no share point?
oi Wilson, não sei te dizer, nunca programei pra Share Point.. =(
print(a+b+c) dá o mesmo resultado e é mais simples.