Ebben az oktatóanyagban megtudjuk, hogyan szerezhető be egy adott adat permutációja és kombinációja Python használatával. A Python beépített csomagját fogjuk használni egy adott szám permutációjának és kombinációjának megtalálásához.
A permutáció és a kombináció elengedhetetlen része a matematikának. Piton biztosítja az itertools könyvtárat, amely beépített függvényekkel rendelkezik a permutáció és a kombináció kiszámításához.
A szükséges könyvtár importálása
A permutáció és a kombináció kiszámításához importálnunk kell az itertools könyvtárat. Az alábbi paranccsal importálhatjuk.
import itertools
A fenti utasítás importálja az itertools könyvtárat, és útvonalat képez a funkciójához.
Most létre kell hoznunk egy sorozat listáját bemenetként. Ez a bemeneti lista visszaadja a permutációból és kombinációból álló sort. Beállíthatjuk a permutáció és a kombináció hosszát is.
Permutáció
A permutáció egy halmaz elrendezése, ahol a sorrend számít. A Python itertools modulja beépített permutáció() módszer a permutáció megtalálására. Értsük meg a következő példát.
hashset java
Példa -
from itertools import permutations seq = permutations(['1','2','3']) print(seq) for p in list(seq): print(p)
Kimenet:
('1', '2', '3') ('1', '3', '2') ('2', '1', '3') ('2', '3', '1') ('3', '1', '2') ('3', '2', '1')
A fenti kódban importáltuk az itertools modult. Felhívtuk a permutáció() metódus, amely a karakterláncot veszi argumentumként, és egy itertools objektumot biztosít. Az egyes permutációk eléréséhez a for ciklust kell használni.
Vegyünk két permutációs készletet.
Példa - 2
java összehasonlító karakterlánc
from itertools import permutations seq = permutations(['A','B']) for p in list(seq): print(p)
Kimenet:
('A', 'B') ('A', 'C') ('B', 'C')
Példa - 3
from itertools import permutations list1 = [1, 2, 3, 4] seq = permutations(list1) print(seq) for p in list(seq): print(p)
Kimenet:
(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)
A fenti kódban a többszörös egész szám kombinációját kaptuk.
A rögzített hosszúság permutációja
Kiszámíthatjuk a fix hosszúságú halmaz permutációját, ahol minden elempermutációból csak meghatározott számút veszünk. Értsük meg a következő példát.
karakterlánc értéke
Példa -
from itertools import permutations seq = permutations(['H', 'e', 'l', 'l', 'o'], 3) for p in list(seq): print(p)
Kimenet:
('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')
A fenti kódban a rögzített permutációt úgy számítottuk ki, hogy a hosszt kettőnek adtuk át.
String kombinációja
A kombináció az elemek gyűjteménye, ahol a sorrend nem számít. Piton itertools modul biztosítja a kombináció() módszer az adott adatok kombinációjának kiszámítására. Kiszámolhatjuk egy karakterlánc kombinációját. Értsük meg a következő példát.
Példa -
import itertools seq = 'ABC' com_seq = itertools.combinations(seq, 2) for c in com_seq: print(c)
Kimenet:
('A', 'B') ('A', 'C') ('B', 'C')
Kombináció cserével
Az itertools modul egy másik metódusból áll combination_with_replacement() amely magának a számnak a kombinációját is figyelembe veszi. Értsük meg a példáját.
shweta tiwari
Numerikus készlet kombinációja
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)
Kimenet:
('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')
Numerikus készlet kombinációja
Ha az adott bemenet rendezési sorrendben van, akkor a kombinációs sorok rendezett sorrendben kerülnek visszaadásra. Értsük meg a következő példát.
Példa -
import itertools v = [1, 2, 3, 4] com_seq = itertools.combinations_with_replacement(v, 3) for i in com_seq: print(i)
Kimenet:
(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)
Ebben az oktatóanyagban az itertools modult tárgyaltuk, amellyel a Python szkript segítségével megtalálhatjuk az adott adatok permutációját és kombinációját.