[2021] Permutación y Combinación en Python {DH}

gfg 200x200 min


Python proporciona métodos directos para encontrar permutaciones y combinaciones de una secuencia. Estos métodos están incluidos en el paquete itertools.

permutación

Primero importe el paquete itertools para implementar el método de permutación en Python. Este método toma una lista como entrada y devuelve una lista de objetos de tupla que contienen todas las permutaciones como una lista.

Python3

from itertools import permutations

perm = permutaciones[1, 2, 3])

for i in list(perm):

    print (i)

Producción:

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

¡generar! Permutaciones cuando la longitud de la secuencia de entrada es n.
Si desea obtener permutaciones de longitud L, impleméntelo así.

Python3

from itertools import permutations

perm = permutaciones[1, 2, 3], 2)

for i in list(perm):

    print (i)

Producción:

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

Generar nCr * r! Permutaciones cuando la longitud de la secuencia de entrada es n y el parámetro de entrada es r.

combinación

Este método toma una lista e ingresa r como entrada y devuelve una lista de objetos de tupla que contienen todas las combinaciones posibles de longitud r como una lista.

Python3

from itertools import combinations

comb = combinaciones[1, 2, 3], 2)

for i in list(comb):

    print (i)

Producción:

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

1. Los enlaces se generan en el orden lexicográfico de la entrada. Entonces, si la lista de entrada está ordenada, las tuplas de unión se generarán en orden ordenado.

Python3

from itertools import combinations

comb = combinaciones[1, 2, 3], 2)

for i in list(comb):

    print (i)

Producción:

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

2. Los artículos se tratan como únicos debido a su posición, no a su valor. Entonces, cuando los elementos de entrada son únicos, no hay valores repetidos en cada combinación.

Python3

from itertools import combinations

comb = combinaciones[2, 1, 3], 2)

for i in list(comb):

    print (i)

Producción:

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

3. Si queremos combinar el mismo elemento con el mismo elemento, usamos Combinations_with_square.

Python3

from itertools import combinations_with_replacement

comb = combinaciones_con_reemplazo ([1, 2, 3], 2)

for i in list(comb):

    print (i)

Producción:

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

¡Atención frikis! Fortalece tus cimientos con el Fundación de programación de Python Curso y aprende lo básico.

Comienza a prepararte para la entrevista. Mejore sus conceptos de estructura de datos con el pitón ds Clase. Y para comenzar su viaje de aprendizaje automático, únase a este Aprendizaje automático – Curso básico





[2021] Permutación y Combinación en Python {DH}

Artículos recomendados

Deja una respuesta

Tu dirección de correo electrónico no será publicada.