Î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.