Olá, caro leitor! Seja muito bem-vindo a mais uma edição da "Dicas Pythonicas".
No pyPRO, estamos sempre prontos para compartilhar truques que tornam o seu código mais poderoso e flexível.
Hoje, vamos falar sobre como gerar um iterável que retorna todas as permutações possíveis de elementos. As permutações são úteis em muitos contextos, como em problemas de combinação, análise de possibilidades, ou mesmo em jogos e quebra-cabeças. Python torna isso fácil usando a função permutations() do módulo itertools.
Aqui está como você pode fazer isso:
from itertools import permutations
dados = ['a', 'b', 'c']
for perm in permutations(dados):
print(perm)
Como funciona?
- Importando permutations de itertools: A função permutations() gera todas as combinações possíveis dos elementos fornecidos, considerando cada ordem como única.
- Uso da Função: No exemplo acima, a lista dados contém três elementos: 'a', 'b' e 'c'. A função permutations(dados) gera todas as permutações possíveis desses três elementos.
- Saída: O código imprime as permutações como tuplas, assim:
('a', 'b', 'c')
('a', 'c', 'b')
('b', 'a', 'c')
('b', 'c', 'a')
('c', 'a', 'b')
('c', 'b', 'a')
Observações
- Número de Permutações: Se a lista tiver n elementos, o número de permutações possíveis é n! (fatorial de n). Portanto, tenha cuidado ao usar permutations() com listas muito grandes, pois o número de combinações cresce rapidamente.
- Especificando o Tamanho: Você pode gerar permutações de tamanho específico passando um segundo argumento para permutations(). Por exemplo:
for perm in permutations(dados, 2):
print(perm)
Isso geraria todas as permutações de 2 elementos.
Espero que esta dica te inspire a explorar mais combinações possíveis com permutations() em seus projetos de Python. Fique atento à próxima edição, onde traremos mais dicas e truques Pythonicos!
Um forte abraço,
Prof. Dr. Dilermando Piva Jr.
Idealizador do pyPRO
Visite: https://pypro.com.br para mais informações sobre Python, Ciência de Dados e Git/GitHub.