logo

Пермутација и комбинација у Питхон-у

У овом водичу ћемо научити како да добијемо пермутацију и комбинацију датих података користећи Питхон. Користићемо Питхон уграђени пакет да пронађемо пермутацију и комбинацију датог броја.

Пермутација и комбинација су суштински део математике. Питхон пружа библиотеку итертоолс која има уграђене функције за израчунавање пермутације и комбинације.

Увоз потребне библиотеке

Да бисмо израчунали пермутацију и комбинацију, морамо да увеземо библиотеку итертоолс. Можемо га увести помоћу доње команде.

 import itertools 

Горња изјава ће увести библиотеку итертоолс и формирати пут до њене функције.

Сада морамо да креирамо листу секвенце као улаз. Ова листа уноса ће вратити тупле који се састоји од пермутације и комбинације. Такође можемо подесити дужину пермутације и комбинације.

Пермутација

Пермутација је распоред скупа где је ред битан. Питхон итертоолс модул обезбеђује уграђен пермутација() метод за проналажење пермутације. Хајде да разумемо следећи пример.

Пример -

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

Излаз:

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

У горњем коду смо увезли модул итертоолс. Позвали смо пермутација() метод који узима стринг као аргумент и обезбеђује објекат итертоолс. Потребно је користити фор петљу да бисте добили сваку пермутацију.

Узмимо два сета пермутације.

Пример - 2

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

Излаз:

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

Пример - 3

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

Излаз:

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

У горњем коду имамо комбинацију вишеструког целог броја.

Пермутација фиксне дужине

Можемо израчунати пермутацију скупа фиксне дужине где узимамо само одређени број сваке пермутације елемента. Хајде да разумемо следећи пример.

Пример -

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

Излаз:

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

У горњем коду смо израчунали фиксну пермутацију преношењем дужине као два.

Комбинација стринга

Комбинација је колекција елемента где редослед није битан. Питхон итертоолс модул обезбеђује комбинација() метода за израчунавање комбинације датих података. Можемо израчунати комбинацију низа. Хајде да разумемо следећи пример.

Пример -

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

Излаз:

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

Комбинација са заменом

Модул итертоолс се састоји од другог метода тзв комбинација_са_заменом() који узима у обзир и саму комбинацију броја. Хајде да разумемо њен пример.

Комбинација нумеричког скупа

 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) 

Излаз:

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

Комбинација нумеричког скупа

Ако је дати унос у сортираном редоследу, комбиноване торке ће бити враћене у сортираном редоследу. Хајде да разумемо следећи пример.

мамта кулкарни

Пример -

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

Излаз:

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

У овом туторијалу смо разговарали о модулу итертоолс да бисмо пронашли пермутацију и комбинацију датих података користећи Питхон скрипту.