logo

Permutasjon og kombinasjon i Python

I denne opplæringen vil vi lære hvordan du får permutasjonen og kombinasjonen av en gitt data ved å bruke Python. Vi vil bruke Python innebygde pakke for å finne permutasjonen og kombinasjonen av et gitt tall.

Permutasjon og kombinasjon er en viktig del i matematikk. Python gir itertools-biblioteket som har de innebygde funksjonene for å beregne permutasjon og kombinasjon.

Importere det nødvendige biblioteket

For å beregne permutasjonen og kombinasjonen, må vi importere itertools-biblioteket. Vi kan importere den ved å bruke kommandoen nedenfor.

 import itertools 

Utsagnet ovenfor vil importere itertools-biblioteket og danner en vei til funksjonen.

Nå må vi lage listen over en sekvens som en inngang. Denne listen over input vil returnere tuppelen som består av permutasjon og kombinasjon. Vi kan også angi lengden på permutasjonen og kombinasjonen.

Permutasjon

En permutasjon er et arrangement av et sett der rekkefølgen betyr noe. Python itertools modul gir innebygd permutasjon() metode for å finne permutasjonen. La oss forstå følgende eksempel.

bæsj

Eksempel -

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

Produksjon:

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

I koden ovenfor har vi importert itertools-modulen. Vi ringte permutasjon() metode som tar streng som et argument og gir et itertools-objekt. Det er nødvendig å bruke for loop for å få hver permutasjon.

La oss ta to sett med permutasjon.

mvc for java

Eksempel - 2

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

Produksjon:

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

Eksempel - 3

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

Produksjon:

 (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) 

I koden ovenfor har vi kombinasjonen av flere heltall.

Permutering av den faste lengden

Vi kan beregne permutasjonen til det faste lengdesettet der vi bare tar et spesifisert antall av hver elementpermutasjon. La oss forstå følgende eksempel.

Eksempel -

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

Produksjon:

 ('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') 

I koden ovenfor har vi beregnet den faste permutasjonen ved å sende lengde som to.

Kombinasjon av streng

Kombinasjon er en samling av elementet der rekkefølgen ikke spiller noen rolle. Python itertools modulen gir kombinasjon() metode for å beregne kombinasjonen av gitte data. Vi kan beregne kombinasjonen av en streng. La oss forstå følgende eksempel.

Eksempel -

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

Produksjon:

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

Kombinasjon med erstatning

Itertools-modulen består av en annen metode kalt kombinasjon_med_erstatning() som tar i betraktning selve kombinasjonen av et tall. La oss forstå eksemplet.

Kombinasjon av numerisk sett

 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) 

Produksjon:

 ('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') 

Kombinasjon av numerisk sett

Hvis den gitte inngangen er i sortert rekkefølge, vil kombinasjonstuplene bli returnert i sortert rekkefølge. La oss forstå følgende eksempel.

kamelvesken python

Eksempel -

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

Produksjon:

 (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) 

I denne opplæringen har vi diskutert itertools-modulen for å finne permutasjonen og kombinasjonen av de gitte dataene ved å bruke Python-skriptet.