I denne tutorial lærer vi, hvordan man får permutationen og kombinationen af en given data ved hjælp af Python. Vi vil bruge Python indbyggede pakke til at finde permutationen og kombinationen af et givet tal.
Permutation og kombination er en væsentlig del i matematik. Python leverer itertools-biblioteket, der har de indbyggede funktioner til at beregne permutation og kombination.
Import af det påkrævede bibliotek
For at beregne permutationen og kombinationen skal vi importere itertools-biblioteket. Vi kan importere det ved at bruge nedenstående kommando.
import itertools
Ovenstående erklæring vil importere itertools-biblioteket og danner en vej til dets funktion.
Nu skal vi oprette listen over en sekvens som input. Denne liste over input vil returnere tuple, som består af permutation og kombination. Vi kan også indstille længden af permutationen og kombinationen.
Permutation
En permutation er et arrangement af et sæt, hvor rækkefølgen betyder noget. Python itertools modul giver indbygget permutation() metode til at finde permutationen. Lad os forstå følgende eksempel.
lort
Eksempel -
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 ovenstående kode har vi importeret itertools-modulet. Vi ringede til permutation() metode, der tager streng som et argument og giver et itertools-objekt. Det er nødvendigt at bruge for loop for at få hver permutation.
Lad os tage to sæt permutation.
smide kast i java
Eksempel - 2
from itertools import permutations seq = permutations(['A','B']) for p in list(seq): print(p)
Produktion:
('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)
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 ovenstående kode har vi kombinationen af det multiple heltal.
Permutation af den faste længde
Vi kan beregne permutationen af det faste længdesæt, hvor vi kun tager et specificeret antal af hver elementpermutation. Lad os forstå følgende eksempel.
Eksempel -
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 ovenstående kode har vi beregnet den faste permutation ved at overføre længde som to.
Kombination af streng
Kombination er en samling af elementet, hvor rækkefølgen er ligegyldig. Python itertools modul giver kombination() metode til at beregne kombinationen af givne data. Vi kan beregne kombinationen af en streng. Lad os forstå følgende eksempel.
Eksempel -
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 udskiftning
Itertools-modulet består af en anden metode kaldet kombination_med_erstatning() som også tager selve kombinationen af et tal under overvejelse. Lad os forstå dets eksempel.
Kombination af numerisk sæt
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 af numerisk sæt
Hvis det givne input er i den sorterede rækkefølge, returneres kombinationstuplerne i sorteret rækkefølge. Lad os forstå følgende eksempel.
kamelhylster python
Eksempel -
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 denne tutorial har vi diskuteret itertools-modulet for at finde permutationen og kombinationen af de givne data ved hjælp af Python-scriptet.