logo

Permutation och kombination i Python

I den här handledningen kommer vi att lära oss hur man får permutationen och kombinationen av en given data med Python. Vi kommer att använda Pythons inbyggda paket för att hitta permutationen och kombinationen av ett givet nummer.

Permutation och kombination är en viktig del i matematik. Pytonorm tillhandahåller itertools-biblioteket som har de inbyggda funktionerna för att beräkna permutation och kombination.

Importera det obligatoriska biblioteket

För att beräkna permutationen och kombinationen måste vi importera itertools-biblioteket. Vi kan importera det med kommandot nedan.

 import itertools 

Ovanstående uttalande kommer att importera itertools-biblioteket och bildar en väg till dess funktion.

Nu måste vi skapa listan över en sekvens som en ingång. Denna lista med indata kommer att returnera tupeln som består av permutation och kombination. Vi kan också ställa in längden på permutationen och kombinationen.

sorteringsalgoritmer slå samman sortering

Permutation

En permutation är ett arrangemang av en uppsättning där ordning spelar roll. Python itertools-modulen tillhandahåller inbyggd permutation() metod för att hitta permutationen. Låt oss förstå följande exempel.

Exempel -

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

Produktion:

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

I koden ovan har vi importerat itertools-modulen. Vi ringde till permutation() metod som tar sträng som ett argument och tillhandahåller ett itertools-objekt. Det är nödvändigt att använda for loop för att få varje permutation.

noll checkar i java

Låt oss ta två uppsättningar av permutationer.

Exempel - 2

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

Produktion:

konvertera int till dubbel java
 ('A', 'B') ('A', 'C') ('B', 'C') 

Exempel - 3

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

Produktion:

 (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 ovanstående kod har vi kombinationen av det multipla heltalstalet.

Permutation av den fasta längden

Vi kan beräkna permutationen för den fasta längduppsättningen där vi bara tar ett specificerat antal av varje elementpermutation. Låt oss förstå följande exempel.

Exempel -

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

Produktion:

 ('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 ovanstående kod har vi beräknat den fasta permutationen genom att skicka längden som två.

ladda ner youtube-videor vlc

Kombination av sträng

Kombination är en samling av elementet där ordningen inte spelar någon roll. Pytonorm itertools modulen ger kombination() metod för att beräkna kombinationen av givna data. Vi kan beräkna kombinationen av en sträng. Låt oss förstå följande exempel.

Exempel -

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

Produktion:

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

Kombination med utbyte

Itertools-modulen består av en annan metod som kallas kombination_med_ersättning() som tar hänsyn till kombinationen av ett tal i sig också. Låt oss förstå dess exempel.

hur gammal är kylie jenner

Kombination av numerisk uppsättning

 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) 

Produktion:

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

Kombination av numerisk uppsättning

Om den givna inmatningen är i sorterad ordning, kommer kombinationstuplarna att returneras i sorterad ordning. Låt oss förstå följande exempel.

Exempel -

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

Produktion:

 (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 den här handledningen har vi diskuterat itertools-modulen för att hitta permutationen och kombinationen av givna data med hjälp av Python-skriptet.