Coletânea Python do ZERO às Redes Neurais Artificiais

Fernando Feltrin · Capítulo 178 de 287

Páginas do PDF

Coletânea Python do ZERO às Redes Neurais Artificiais

Itertools

combinations( )

A seguir veremos alguns possíveis tratamentos de dados em formato de listas. Novamente, a justificativa deste capítulo se dá por trazer aplicações bastante rotineiras de certas funções sobre nossos dados.

Como já se presume pelo título deste tópico, por meio de algumas

ferramentas da biblioteca itertools podemos realizar, por exemplo, a combinação de dados a partir de listas.

Esta função em si realiza um tipo de combinação bem específica, onde

se faz necessário ler todos elementos de uma lista e ver as possíveis combinações entre tais elementos, sem que hajam combinações repetidas.

 

Indo para o exemplo, como de costume, todo processo se inicia com as

importações das bibliotecas, módulos e pacotes não nativos do Python.

Sendo assim, por meio de import poderíamos importar toda a biblioteca itertools, porém, como já dito em outros capítulos, uma boa prática de programação é realizarmos a importação apenas do que é necessário, por uma questão de performance.

Então, da biblioteca itertools importamos combinations, função dedicada

ao nosso propósito atual.

Em seguida é criada uma variável de nome lista10 que atribuído para si

tem uma simples lista com 6 elementos. A partir deste momento podemos realizar qualquer tipo de interação com tais dados.

 

Uma das formas mais básicas de realizar a leitura dos elementos de uma

lista é por meio de um laço de repetição que percorre elemento por elemento da mesma.

Aqui, incorporamos em nosso laço for a função combinations( ), que por sua vez deve ser parametrizado com o nome da variável de onde serão lidos os dados, seguido do número de possíveis combinações para cada elemento.

 

Nesse caso nos é retornado as possíveis combinações dos elementos,

mas repare que sem haver repetições, independentemente da ordem dos elementos.

Em outras palavras, para o primeiro elemento ‘Ana’ foi possível realizar

combinações com todos os demais, já para ‘Bianca’ as combinações foram feitas com todos elementos exceto ‘Ana’, onde já existia tal combinação, e assim por diante.

Apenas salientando um ponto importante, todos os elementos onde

houverem mais de uma combinação com os mesmos serão retornados ainda como lista, o último par de combinações, nesse exemplo ‘Franciele’ e ‘Maria’ serão retornados em formato de tupla.