Junior
Que funções do módulo itertools conheces?
sobes.tech IA
Resposta da IA
count(start=0, step=1): cria um iterador infinito que devolve números, começando emstartcom um passo destep.cycle(iterable): cria um iterador infinito que repete ciclicamente os elementos deiterable.repeat(elem, n=None): cria um iterador que repeteelemnvezes. Sennão for especificado, repete indefinidamente.chain(*iterables): combina vários objetos iteráveis num único.compress(data, selectors): filtra os elementos dedatade acordo com os valores verdadeiros emselectors.dropwhile(predicate, iterable): ignora os elementos iniciais deiterableenquantopredicate(item)for verdadeiro, depois devolve todos os restantes.filterfalse(predicate, iterable): devolve os elementos deiterablepara os quaispredicate(item)é falso.groupby(iterable, key=None): agrupa elementos consecutivos deiterablepor chave, devolvendo pares(key, group).islice(iterable, start, stop, step=1): devolve uma "fatia" deiterablecomo um gerador.pairwise(iterable): devolve pares consecutivos de elementos deiterable.
from itertools import pairwise
for a, b in pairwise([1, 2, 3, 4]):
print(f"({a}, {b})") # Vai imprimir (1, 2), (2, 3), (3, 4)
starmap(function, iterable): chamafunctioncom argumentos retirados dos elementos deiterable.takewhile(predicate, iterable): devolve elementos deiterableenquantopredicate(item)for verdadeiro.tee(iterable, n=2): devolve uma tupla deniteradores independentes criados a partir de um únicoiterable.zip_longest(*iterables, fillvalue=None): combina vários objetos iteráveis, preenchendo comfillvalueos valores em falta.combinations(iterable, r): devolve combinações de comprimentordos elementos deiterablesem repetição e sem considerar a ordem.combinations_with_replacement(iterable, r): devolve combinações de comprimentorcom repetição, sem considerar a ordem.permutations(iterable, r=None): devolve permutações de comprimentordos elementos deiterablesem repetição e considerando a ordem.product(*iterables, repeat=1): devolve o produto cartesiano dos objetos iteráveis de entrada.
from itertools import product
for item in product('AB', range(2)):
print(item)
# Vai imprimir ('A', 0), ('A', 1), ('B', 0), ('B', 1)