W tym samouczku dowiemy się, jak uzyskać permutację i kombinację danych za pomocą Pythona. Do znalezienia permutacji i kombinacji danej liczby użyjemy wbudowanego pakietu Pythona.
Permutacje i kombinacje są istotną częścią matematyki. Pyton udostępnia bibliotekę itertools z wbudowanymi funkcjami do obliczania permutacji i kombinacji.
Importowanie wymaganej biblioteki
Aby obliczyć permutację i kombinację, musimy zaimportować bibliotekę itertools. Możemy go zaimportować za pomocą poniższego polecenia.
komputer wynalazł, w którym roku
import itertools
Powyższa instrukcja zaimportuje bibliotekę itertools i utworzy ścieżkę do jej funkcji.
Teraz musimy utworzyć listę sekwencji jako dane wejściowe. Ta lista danych wejściowych zwróci krotkę składającą się z permutacji i kombinacji. Możemy również ustawić długość permutacji i kombinacji.
Permutacja
Permutacja to układ zbioru, w którym kolejność ma znaczenie. Moduł Python itertools zapewnia wbudowany moduł permutacja() metoda znalezienia permutacji. Rozumiemy następujący przykład.
Przykład -
from itertools import permutations seq = permutations(['1','2','3']) print(seq) for p in list(seq): print(p)
Wyjście:
('1', '2', '3') ('1', '3', '2') ('2', '1', '3') ('2', '3', '1') ('3', '1', '2') ('3', '2', '1')
W powyższym kodzie zaimportowaliśmy moduł itertools. Zadzwoniliśmy do permutacja() metoda, która przyjmuje ciąg znaków jako argument i udostępnia obiekt itertools. Aby uzyskać każdą permutację, konieczne jest użycie pętli for.
Weźmy dwa zestawy permutacji.
Przykład - 2
from itertools import permutations seq = permutations(['A','B']) for p in list(seq): print(p)
Wyjście:
('A', 'B') ('A', 'C') ('B', 'C')
Przykład - 3
from itertools import permutations list1 = [1, 2, 3, 4] seq = permutations(list1) print(seq) for p in list(seq): print(p)
Wyjście:
(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)
W powyższym kodzie mamy kombinację wielokrotnej liczby całkowitej.
sortowanie tablicowe Java
Permutacja stałej długości
Możemy obliczyć permutację zbioru o stałej długości, gdzie bierzemy tylko określoną liczbę permutacji każdego elementu. Rozumiemy następujący przykład.
Przykład -
from itertools import permutations seq = permutations(['H', 'e', 'l', 'l', 'o'], 3) for p in list(seq): print(p)
Wyjście:
('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')
W powyższym kodzie obliczyliśmy stałą permutację, przekazując długość jako dwa.
Połączenie sznurka
Kombinacja to zbiór elementów, w którym kolejność nie ma znaczenia. Pyton itertools moduł zapewnia połączenie() metoda obliczania kombinacji danych. Możemy obliczyć kombinację ciągu. Rozumiemy następujący przykład.
Przykład -
import itertools seq = 'ABC' com_seq = itertools.combinations(seq, 2) for c in com_seq: print(c)
Wyjście:
('A', 'B') ('A', 'C') ('B', 'C')
Połączenie z wymianą
Moduł itertools składa się z innej metody zwanej kombinacja_z_zamianą() który uwzględnia również kombinację samej liczby. Rozumiemy jego przykład.
Kombinacja zestawu numerycznego
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)
Wyjście:
('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')
Kombinacja zestawu numerycznego
Jeśli dane wejściowe są w kolejności posortowanej, krotki kombinacji zostaną zwrócone w kolejności posortowanej. Rozumiemy następujący przykład.
Przykład -
import itertools v = [1, 2, 3, 4] com_seq = itertools.combinations_with_replacement(v, 3) for i in com_seq: print(i)
Wyjście:
(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)
W tym samouczku omówiliśmy moduł itertools, który pozwala znaleźć permutację i kombinację podanych danych za pomocą skryptu Python.