Maison >développement back-end >Tutoriel Python >Comment puis-je générer efficacement des produits cartésiens de plusieurs listes en Python ?
Générer des produits cartésiens à partir de plusieurs listes
Obtenir le produit cartésien de plusieurs listes, où chaque combinaison possible de valeurs est produite, est une opération courante tâche en programmation. En utilisant itertools.product, un puissant module Python disponible depuis Python 2.6, vous pouvez atteindre cet objectif sans effort.
Pour utiliser itertools.product, fournissez simplement les listes que vous souhaitez combiner comme arguments. Par exemple, étant donné l'ensemble de listes suivant :
somelists = [ [1, 2, 3], ['a', 'b'], [4, 5] ]
Vous pouvez obtenir le produit cartésien comme suit :
import itertools for element in itertools.product(*somelists): print(element)
Ce code génère efficacement toutes les combinaisons possibles de valeurs à partir des listes d'entrée . Le résultat serait :
(1, 'a', 4) (1, 'a', 5) (1, 'b', 4) (1, 'b', 5) (2, 'a', 4) (2, 'a', 5) ...
Alternativement, si les listes étaient explicitement transmises en tant qu'arguments séparés, le code ressemblerait à ceci :
for element in itertools.product([1, 2, 3], ['a', 'b'], [4, 5]): print(element)
En utilisant la flexibilité de itertools.product , vous pouvez facilement gérer les cas complexes où les données d'entrée sont constituées de listes imbriquées ou de listes de longueurs variables.
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!