logo

Permutarea și combinarea în Python

În acest tutorial, vom învăța cum să obținem permutarea și combinația unei date date folosind Python. Vom folosi pachetul Python încorporat pentru a găsi permutarea și combinația unui anumit număr.

Permutarea și combinația sunt o parte esențială în matematică. Piton furnizează biblioteca itertools care are funcțiile încorporate pentru a calcula permutarea și combinația.

Importul bibliotecii necesare

Pentru a calcula permutarea și combinația, trebuie să importam biblioteca itertools. Îl putem importa folosind comanda de mai jos.

 import itertools 

Declarația de mai sus va importa biblioteca itertools și va forma o cale către funcția sa.

căutarea bfs

Acum, trebuie să creăm lista unei secvențe ca intrare. Această listă de intrare va returna tuplul care constă din permutare și combinație. De asemenea, putem seta lungimea permutării și combinației.

Permutare

O permutare este un aranjament al unui set în care ordinea contează. Modulul Python itertools oferă încorporat permutare() metoda de a găsi permutarea. Să înțelegem următorul exemplu.

Exemplu -

 from itertools import permutations seq = permutations(['1','2','3']) print(seq) for p in list(seq): print(p) 

Ieșire:

 ('1', '2', '3') ('1', '3', '2') ('2', '1', '3') ('2', '3', '1') ('3', '1', '2') ('3', '2', '1') 

În codul de mai sus, am importat modulul itertools. Am sunat la permutare() metodă care ia șir ca argument și oferă un obiect itertools. Este necesar să folosiți bucla for pentru a obține fiecare permutare.

Să luăm două seturi de permutări.

Exemplu - 2

 from itertools import permutations seq = permutations(['A','B']) for p in list(seq): print(p) 

Ieșire:

 ('A', 'B') ('A', 'C') ('B', 'C') 

Exemplu - 3

 from itertools import permutations list1 = [1, 2, 3, 4] seq = permutations(list1) print(seq) for p in list(seq): print(p) 

Ieșire:

 (1, 2, 3, 4) (1, 2, 4, 3) (1, 3, 2, 4) (1, 3, 4, 2) (1, 4, 2, 3) (1, 4, 3, 2) (2, 1, 3, 4) (2, 1, 4, 3) (2, 3, 1, 4) (2, 3, 4, 1) (2, 4, 1, 3) (2, 4, 3, 1) (3, 1, 2, 4) (3, 1, 4, 2) (3, 2, 1, 4) (3, 2, 4, 1) (3, 4, 1, 2) (3, 4, 2, 1) (4, 1, 2, 3) (4, 1, 3, 2) (4, 2, 1, 3) (4, 2, 3, 1) (4, 3, 1, 2) (4, 3, 2, 1) 

În codul de mai sus, avem combinația numărului întreg multiplu.

Permutarea lungimii fixe

Putem calcula permutarea setului de lungimi fixe unde luăm doar un număr specificat din permutarea fiecărui element. Să înțelegem următorul exemplu.

program python pentru căutare binară

Exemplu -

 from itertools import permutations seq = permutations(['H', 'e', 'l', 'l', 'o'], 3) for p in list(seq): print(p) 

Ieșire:

 ('H', 'e') ('H', 'l') ('H', 'l') ('H', 'o') ('e', 'H') ('e', 'l') ('e', 'l') ('e', 'o') ('l', 'H') ('l', 'e') ('l', 'l') ('l', 'o') ('l', 'H') ('l', 'e') ('l', 'l') ('l', 'o') ('o', 'H') ('o', 'e') ('o', 'l') ('o', 'l') 

În codul de mai sus, am calculat permutarea fixă ​​trecând lungimea ca două.

Combinație de șiruri

Combinația este o colecție a elementului în care ordinea nu contează. Piton iertools modulul oferă combinaţie() metoda de calcul a combinației de date date. Putem calcula combinația unui șir. Să înțelegem următorul exemplu.

Exemplu -

 import itertools seq = 'ABC' com_seq = itertools.combinations(seq, 2) for c in com_seq: print(c) 

Ieșire:

 ('A', 'B') ('A', 'C') ('B', 'C') 

Combinație cu înlocuire

Modulul itertools constă dintr-o altă metodă numită combinație_cu_înlocuire() care ia în considerare și combinația unui număr în sine. Să-i înțelegem exemplul.

Combinație de set numeric

 from itertools import combinations_with_replacement com = combinations_with_replacement(['J', 'a', 'v', 'a', 't', 'p', 'o', 'i', 'n', 't'], 2) #Print the list of combinations for c in list(com): print(c) 

Ieșire:

 ('J', 'J') ('J', 'a') ('J', 'v') ('J', 'a') ('J', 't') ('J', 'p') ('J', 'o') ('J', 'i') ('J', 'n') ('J', 't') ('a', 'a') ('a', 'v') ('a', 'a') ('a', 't') ('a', 'p') ('a', 'o') ('a', 'i') ('a', 'n') ('a', 't') ('v', 'v') ('v', 'a') ('v', 't') ('v', 'p') ('v', 'o') ('v', 'i') ('v', 'n') ('v', 't') ('a', 'a') ('a', 't') ('a', 'p') ('a', 'o') ('a', 'i') ('a', 'n') ('a', 't') ('t', 't') ('t', 'p') ('t', 'o') ('t', 'i') ('t', 'n') ('t', 't') ('p', 'p') ('p', 'o') ('p', 'i') ('p', 'n') ('p', 't') ('o', 'o') ('o', 'i') ('o', 'n') ('o', 't') ('i', 'i') ('i', 'n') ('i', 't') ('n', 'n') ('n', 't') ('t', 't') 

Combinație de set numeric

Dacă intrarea dată este în ordinea sortată, tuplurile combinate vor fi returnate în ordinea sortată. Să înțelegem următorul exemplu.

Exemplu -

 import itertools v = [1, 2, 3, 4] com_seq = itertools.combinations_with_replacement(v, 3) for i in com_seq: print(i) 

Ieșire:

 (1, 1, 1) (1, 1, 2) (1, 1, 3) (1, 1, 4) (1, 2, 2) (1, 2, 3) (1, 2, 4) (1, 3, 3) (1, 3, 4) (1, 4, 4) (2, 2, 2) (2, 2, 3) (2, 2, 4) (2, 3, 3) (2, 3, 4) (2, 4, 4) (3, 3, 3) (3, 3, 4) (3, 4, 4) (4, 4, 4) 

În acest tutorial, am discutat despre modulul itertools pentru a găsi permutarea și combinația datelor date folosind scriptul Python.