Python itetools

Python itetools
O código baseado em iterador é mais eficiente que o código geral porque aumenta o desempenho do programa, reduzindo o uso da memória. O ITERTOOLS é um módulo muito útil de Python que é usado para gerar diferentes tipos de iterador. As funções deste módulo são usadas no iterador para gerar um iterador mais complexo. Algumas funções úteis do módulo ITERTOOLS mostraram neste tutorial usando vários scripts Python.

Tipos de iterador:

Diferentes tipos de iteradores no módulo ITERTOOLS deram abaixo:

  1. Iteradores infinitos
  2. Iteradores combinatórios
  3. Terminando iteradores

Iteradores infinitos:

Os objetos do iterador são atravessados ​​usando o 'para' laço. Lista, dicionário, tupla são exemplos do objeto iterador. Os infinitos iteradores são chamados de Iterador Infinito. Algumas funções infinitas de iterador são mencionadas abaixo.

Repita (valor [, num])

O primeiro argumento dessa função é obrigatório e o segundo argumento é opcional. É usado para repetir os valores do objeto Iterador tempos infinitos.

ciclo ()

É usado para imprimir os valores do objeto iterador em ordem cíclica.

contagem (start [, etapa])

O primeiro argumento dessa função é obrigatório e o segundo argumento é opcional. É usado para imprimir os valores do objeto iterador, desde o valor inicial até os tempos infinitos. Se a segunda etapa do argumento for dada, os valores serão impressos pulando esse número de etapas.

Exemplo 1: Uso de Iteradores Infinitos

Crie um arquivo python com o seguinte script para saber as maneiras de usar repetir () e a função Cycle (). Aqui, a função repetir () imprimirá o caractere '*' 10 vezes, e a função Cycle () imprimirá circularmente os valores da lista.

# Inclua módulo ITERTOOLS
importar itterols
Imprima ("Imprima um personagem por várias vezes usando repetição ():")
# Usando a função Repeat ()
Imprimir (Lista (ITERTOOLS.repita ('*', 10)))
# Defina uma lista de números
ListData = [1, 2, 3, 4, 5]
# Defina um iterador para ler a lista de maneira circular
iterator = itetools.Ciclo (ListData)
# Imprima os dados da lista com base no valor do intervalo
print ("\ nprint Os valores da lista de maneira circular:")
para o alcance iin (12):
# Imprima os valores usando o método Next () e o objeto iterador
Imprima (Next (ITerator), end = "\ t")

Saída:

A saída a seguir aparecerá após a execução do script acima. Na primeira saída, o valor do caractere '*' foi repetido 10 vezes usando a função repetição (). Na segunda saída, os valores da lista são impressos em ordem circular em 12 iterações do 'para' laço.

Iteradores combinatórios:

O gerador recursivo é usado para simplificar as construções combinatórias complexas. Os seguintes são exemplos de iteradores combinatórios.

  1. Produtos cartesianos
  2. Permutações
  3. Combinações

produtos():

É usado para calcular o produto cartesiano de objetos iteráveis ​​de entrada. O argumento da palavra -chave repetida opcional é usado para repetir os valores de todas as combinações possíveis. Ele retorna a saída na forma de tuplas.

permutações ():

É usado para imprimir todas as permutações possíveis de um objeto iterável.

Combinações ():

É usado para imprimir todas as combinações possíveis sem substituir o objeto iterável.

Exemplo 2: Uso de Produto () para calcular o produto cartesiano

Crie um arquivo python com o seguinte script para verificar os usos da função do produto () para calcular o produto cartesiano do objeto iterável. A primeira função de produto () calculará o produto cartesiano de uma lista e um personagem. A segunda função de produto () calculará o produto cartesiano de uma lista com a palavra -chave repetida. A terceira função do produto () calculará o produto cartesiano de uma sequência de dois caracteres e uma lista.

# Importar produto de itertools
do produto ITERTOOLSIMPORT
# Imprima o produto cartesiano de um recipiente e personagem
Imprima ("Calcule o produto cartesiano de um recipiente e personagem:")
Imprimir (Lista (Produto ([1, 2, 3], 'A')))))
# Imprima o produto cartesiano de um contêiner usando a palavra -chave repetida
print ("\ NCalculate o produto cartesiano usando a palavra -chave repetida:")
Print (List (Produto (['Python', 'Linuxhint'], Repita = 2)))))
# Imprima o produto cartesiano de um personagem e contêiner
Imprima ("\ Ncalculate o produto cartesiano de um personagem e contêiner:")
Imprimir (Lista (Produto ('AB', [1, 2, 3])))))

Saída:

A saída a seguir aparecerá após a execução do script acima. Na primeira saída, três tuplas foram geradas usando três itens da lista e o personagem 'a' porque 31 é 3. Na segunda saída, quatro tuplas foram geradas usando dois itens de lista com o valor de repetição, 2 porque 22 é 4. Na terceira saída, seis tuplas foram geradas usando a string, 'ab' e a lista de três itens porque 32 é 6.

Terminando iteradores:

É usado para trabalhar com a pequena sequência de entrada e a saída é gerada com base na função usada pelo iterador. A função Chain () é uma das funções usadas para o iterador de terminação.

Corrente (Iter1, Iter2):

É usado para imprimir todos os valores do objeto iterável na forma de uma corrente.

Exemplo 3: Uso da função Chain () para combinar dois valores da lista

Crie um arquivo python com o seguinte script para mesclar os valores das duas listas usando a função Chain (). Duas listas contêm o nome dos alunos. Os valores da segunda lista serão adicionados no final da primeira lista antes de imprimir a saída.

# Importar produto de itertools
importar itterols
# Declare a primeira lista de estudantes
std_list1 = ['mehrab hossain', 'riya chakroborty', 'minhazkazi']
# Declare a segunda lista de estudantes
std_list2 = ['Zinia Rahman', 'Sadia Akter']
print ("Os valores da lista mesclada:")
# Mesclar a lista de dois usando a função Chain ()
Imprimir (Lista (ITERTOOLS.cadeia (std_list1, std_list2)))

Saída:

A saída a seguir aparecerá após a execução do script acima. Os valores mesclados da lista foram impressos na saída.

Conclusão:

Os propósitos do módulo ITERTOOLS e os usos de algumas funções do itertools foram mostrados neste tutorial usando vários exemplos para ajudar os usuários do Python a saber o uso deste módulo.