Combinaisons d'une liste en Python
-
Utilisez la fonction
itertools.combinations()
pour trouver les combinaisons d’une liste en Python -
Utilisez la fonction
itertools.combinations_with_replacement()
pour trouver les combinaisons d’une liste en Python -
Créer une fonction
powerset()
définie par l’utilisateur pour trouver les combinaisons d’une liste en Python
Une combinaison est une technique qui détermine le nombre d’arrangements possibles dans une collection d’éléments. Dans une combinaison d’éléments, les éléments sont sélectionnés dans un ordre arbitraire.
Dans ce tutoriel, nous allons trouver les combinaisons totales des éléments d’une liste en Python.
Utilisez la fonction itertools.combinations()
pour trouver les combinaisons d’une liste en Python
La fonction combinations(list_name, x)
du module itertools
prend le nom de la liste et un nombre ‘x’ comme paramètres et renvoie une liste de tuples chacun de longueur ‘x’ contenant toutes les combinaisons possibles d’un élément dans la liste avec les autres éléments.
Par example,
from itertools import combinations
A = [10, 5, "Hi"]
temp = combinations(A, 2)
for i in list(temp):
print(i)
Production:
(10, 5)
(10, 'Hi')
(5, 'Hi')
Une liste triée affichera les tuples de combinaison dans l’ordre trié. Une combinaison d’un élément de la liste avec lui-même n’est pas possible avec la fonction combinations()
.
Utilisez la fonction itertools.combinations_with_replacement()
pour trouver les combinaisons d’une liste en Python
La fonction combinations_with_replacement(list_name, x)
du module itertools
prend le nom de la liste et un nombre ‘x’ comme paramètres et renvoie une liste de tuples chacun de longueur ‘x’ contenant toutes les combinaisons possibles des éléments de la liste. Une combinaison d’un élément de la liste avec lui-même est possible en utilisant cette fonction.
Par example,
from itertools import combinations_with_replacement
A = [1, 5, "Hi"]
temp = combinations_with_replacement(A, 2)
for i in list(temp):
print(i)
Production:
(1, 1)
(1, 5)
(1, 'Hi')
(5, 5)
(5, 'Hi')
('Hi', 'Hi')
Créer une fonction powerset()
définie par l’utilisateur pour trouver les combinaisons d’une liste en Python
En mathématiques, un ensemble de puissance de n’importe quel ensemble est un ensemble qui contient tous les sous-ensembles possibles d’un ensemble donné ainsi qu’un ensemble vide. L’ensemble de puissance de l’ensemble S = {2, 5, 10}
est {{}, {2}, {5}, {10}, {2, 5}, {2, 10}, {5, 10}, {2, 5, 10}}
. La fonction suivante powerset()
est utilisée pour parcourir toutes les longueurs ‘r’ de la liste et imprimer toutes les combinaisons possibles des éléments de la liste.
Par example,
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)
Production:
()
(1,)
(5,)
('Hi',)
(1, 5)
(1, 'Hi')
(5, 'Hi')
(1, 5, 'Hi')
Article connexe - Python List
- Convertir un dictionnaire en liste en Python
- Supprimer toutes les occurrences d'un élément d'une liste en Python
- Supprimer les doublons de la liste en Python
- Comment obtenir la moyenne d'une liste en Python
- Quelle est la différence entre les méthodes de liste append et extend
- Comment convertir une liste en chaîne de caractères en Python