Maison >développement back-end >Tutoriel Python >Comment générer efficacement toutes les combinaisons possibles à partir d'une liste de listes en Python ?
Combinaisons d'une liste de listes en Python
En programmation, combiner des éléments de plusieurs listes est une tâche courante. Cette question porte sur la génération de toutes les combinaisons possibles d'éléments à partir d'une liste de listes, quelle que soit sa taille.
Pour y parvenir, la bibliothèque Python propose une solution ingénieuse utilisant la fonction itertools.product. Cette fonction prend un nombre variable d'itérables en entrée et renvoie un produit cartésien, qui produit essentiellement toutes les combinaisons possibles d'éléments de chaque itérable.
Par exemple, considérons la liste de listes d'entrée : [[1,2 ,3],[4,5,6],[7,8,9,10]].
import itertools a = [[1,2,3],[4,5,6],[7,8,9,10]] combinations = list(itertools.product(*a))
La liste de combinaisons résultante contiendra toutes les combinaisons possibles des éléments de les listes d'entrée :
[(1, 4, 7), (1, 4, 8), (1, 4, 9), (1, 4, 10), (1, 5, 7), (1, 5, 8), (1, 5, 9), (1, 5, 10), (1, 6, 7), (1, 6, 8), (1, 6, 9), (1, 6, 10), (2, 4, 7), (2, 4, 8), (2, 4, 9), (2, 4, 10), (2, 5, 7), (2, 5, 8), (2, 5, 9), (2, 5, 10), (2, 6, 7), (2, 6, 8), (2, 6, 9), (2, 6, 10), (3, 4, 7), (3, 4, 8), (3, 4, 9), (3, 4, 10), (3, 5, 7), (3, 5, 8), (3, 5, 9), (3, 5, 10), (3, 6, 7), (3, 6, 8), (3, 6, 9), (3, 6, 10)]
Grâce à la puissance d'itertools.product, générer des combinaisons à partir d'une liste de listes devient une opération concise et élégante en Python.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!