logo

Permutació i combinació en Python

En aquest tutorial, aprendrem a obtenir la permutació i la combinació d'una dada determinada mitjançant Python. Utilitzarem el paquet integrat de Python per trobar la permutació i la combinació d'un nombre determinat.

La permutació i la combinació són una part essencial de les matemàtiques. Python proporciona la biblioteca itertools que té les funcions integrades per calcular la permutació i la combinació.

Importació de la biblioteca necessària

Per calcular la permutació i la combinació, hem d'importar la biblioteca itertools. Podem importar-lo mitjançant l'ordre següent.

 import itertools 

La declaració anterior importarà la biblioteca itertools i formarà un camí cap a la seva funció.

Ara, hem de crear la llista d'una seqüència com a entrada. Aquesta llista d'entrada retornarà la tupla que consta de permutació i combinació. També podem establir la durada de la permutació i la combinació.

Permutació

Una permutació és una disposició d'un conjunt on l'ordre importa. El mòdul Python itertools proporciona incorporat permutació () mètode per trobar la permutació. Entenem l'exemple següent.

Exemple -

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

Sortida:

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

Al codi anterior, hem importat el mòdul itertools. Vam trucar al permutació () mètode que pren la cadena com a argument i proporciona un objecte itertools. Cal utilitzar for loop per obtenir cada permutació.

Prenem dos conjunts de permutació.

Exemple - 2

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

Sortida:

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

Exemple - 3

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

Sortida:

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

Al codi anterior, tenim la combinació del nombre enter múltiple.

Permutació de la longitud fixa

Podem calcular la permutació del conjunt de longitud fixa on només prenem un nombre especificat de cada permutació d'element. Entenem l'exemple següent.

Exemple -

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

Sortida:

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

Al codi anterior, hem calculat la permutació fixa passant la longitud com a dos.

llocs web de pel·lícules similars a 123movies

Combinació de cadena

La combinació és una col·lecció de l'element on l'ordre no importa. Python itertools mòdul proporciona el combinació () mètode per calcular la combinació de dades donades. Podem calcular la combinació d'una cadena. Entenem l'exemple següent.

Exemple -

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

Sortida:

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

Combinació amb substitució

El mòdul itertools consta d'un altre mètode anomenat combinació_amb_reemplaçament() que també té en compte la combinació d'un nombre en si. Entenem el seu exemple.

Combinació de conjunt numèric

 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) 

Sortida:

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

Combinació de conjunt numèric

Si l'entrada donada està en l'ordre ordenat, les tuples de combinació es retornaran en ordre ordenat. Entenem l'exemple següent.

Exemple -

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

Sortida:

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

En aquest tutorial, hem parlat del mòdul itertools per trobar la permutació i la combinació de les dades proporcionades mitjançant l'script Python.