Combinaciones de una lista en Python
-
Utilice la función
itertools.combinations()
para encontrar las combinaciones de una lista en Python -
Utilice la función
itertools.combinations_with_replacement()
para encontrar las combinaciones de una lista en Python -
Cree una función
powerset()
definida por el usuario para encontrar las combinaciones de una lista en Python
Una combinación es una técnica que determina el número de arrays posibles en una colección de elementos. En una combinación de elementos, los elementos se seleccionan en un orden arbitrario.
En este tutorial, encontraremos las combinaciones totales de los elementos de una lista en Python.
Utilice la función itertools.combinations()
para encontrar las combinaciones de una lista en Python
La función combinations(list_name, x)
del módulo itertools
toma el nombre de la lista y un número ‘x’ como parámetros y devuelve una lista de tuplas cada una de longitud ‘x’ que contiene todas las combinaciones posibles de un elemento en la lista con los otros elementos.
Por ejemplo,
from itertools import combinations
A = [10, 5, "Hi"]
temp = combinations(A, 2)
for i in list(temp):
print(i)
Producción :
(10, 5)
(10, 'Hi')
(5, 'Hi')
Una lista ordenada generará las tuplas de combinación en orden ordenado. Una combinación de un elemento en la lista consigo mismo no es posible usando la función combinations()
.
Utilice la función itertools.combinations_with_replacement()
para encontrar las combinaciones de una lista en Python
La función combinations_with_replacement(list_name, x)
del módulo itertools
toma el nombre de la lista y un número ‘x’ como parámetros y devuelve una lista de tuplas cada una de longitud ‘x’ que contiene todas las combinaciones posibles de los elementos de la lista. Una combinación de un elemento de la lista consigo mismo es posible utilizando esta función.
Por ejemplo,
from itertools import combinations_with_replacement
A = [1, 5, "Hi"]
temp = combinations_with_replacement(A, 2)
for i in list(temp):
print(i)
Producción :
(1, 1)
(1, 5)
(1, 'Hi')
(5, 5)
(5, 'Hi')
('Hi', 'Hi')
Cree una función powerset()
definida por el usuario para encontrar las combinaciones de una lista en Python
En matemáticas, un conjunto de potencias de cualquier conjunto es un conjunto que contiene todos los subconjuntos posibles de un conjunto dado junto con un conjunto vacío. El conjunto de potencias del conjunto S = {2, 5, 10}
es {{}, {2}, {5}, {10}, {2, 5}, {2, 10}, {5, 10}, {2, 5, 10}}
. La siguiente función powerset()
se utiliza para recorrer todas las longitudes ‘r’ de la lista e imprimir todas las combinaciones posibles de los elementos de la lista.
Por ejemplo,
from itertools import chain, combinations
def powerset(list_name):
s = list(list_name)
return chain.from_iterable(combinations(s, r) for r in range(len(s) + 1))
A = [60, 7, "Hi"]
for x in powerset(A):
print(x)
Producción :
()
(1,)
(5,)
('Hi',)
(1, 5)
(1, 'Hi')
(5, 'Hi')
(1, 5, 'Hi')
Artículo relacionado - Python List
- Convertir un diccionario en una lista en Python
- Eliminar todas las apariciones de un elemento de una lista en Python
- Eliminar duplicados de una lista en Python
- Cómo obtener el promedio de una lista en Python
- ¿Cuál es la diferencia entre los métodos de lista que añaden y amplían
- Cómo convertir una lista en cadena en Python