in

Permutación y combinación en Python

gfg 200x200 min

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

Permutación

Primero importe el paquete itertools para implementar el método de permutaciones en python. Este método toma una lista como entrada y devuelve una lista de objetos de tuplas que contienen todas las permutaciones en forma de 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)

Genera n! permutaciones si la longitud de la secuencia de entrada es n.
Si desea obtener permutaciones de longitud L, impleméntelo de esta manera.

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)

Genera nCr * r! permutaciones si 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 y una entrada r como entrada y devuelve una lista de objetos de tuplas que contienen todas las combinaciones posibles de longitud r en forma de 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. Las combinaciones se emiten en orden lexicográfico de entrada. Entonces, si la lista de entrada está ordenada, las tuplas de combinación se producirá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 elementos se tratan como únicos en función de su posición, no de su valor. Entonces, si los elementos de entrada son únicos, no habrá 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 hacer una combinación del mismo elemento con el mismo elemento, usamos combinaciones_con_plaza.

Python3

from itertools import combinations_with_replacement

comb = combinaciones_con_reposición ([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 geek! Fortalece tus cimientos con el Fundación de programación de Python Curso y aprende los conceptos básicos.

Para empezar, los preparativos de su entrevista Mejore sus conceptos de estructuras de datos con el Python DS Curso. Y para comenzar con su viaje de aprendizaje automático, únase al Aprendizaje automático – Curso de nivel básico

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

apple touch icon@2

linux: recorrer el contenido de un archivo en Bash

Budismo vs confucianismo: diferencia y comparación