Maison >développement back-end >Tutoriel Python >Voici quelques options de titre, variant en termes de formalité et de franchise : Officiel: * Comment générer toutes les permutations correspondantes de listes avec différentes longueurs * Faire correspondre efficacement les éléments de disparates-
Permutations correspondantes de listes de longueurs disparates
Dans le domaine de la programmation, un défi commun se pose lorsqu'on traite deux listes de longueurs variables, cherchant à faire correspondre leurs éléments dans des combinaisons spécifiques.
Considérons le scénario suivant : étant donné deux listes, des noms et des nombres, où len(names) >= len(numbers), la tâche consiste à générer des tuples contenant tous les éléments possibles. combinaisons d'éléments de la liste la plus longue (noms) avec des éléments de la liste la plus courte (numéros).
Exemple :
Si les noms = ['a', 'b '] et nombres = [1, 2], le résultat attendu est :
Solution :
L'approche la plus simple pour résoudre ce problème consiste à utiliser le Fonction itertools.product de la bibliothèque standard de Python. Cette fonction génère un produit cartésien des éléments dans les listes fournies.
Code :
<code class="python">import itertools a = ['foo', 'melon'] b = [True, False] c = list(itertools.product(a, b)) print(c)</code>
Sortie :
[('foo', True), ('foo', False), ('melon', True), ('melon', False)]
En utilisant itertools.product, nous pouvons générer efficacement toutes les combinaisons possibles d'éléments des deux listes, quelle que soit leur différence de longueur. Cette technique offre une solution simple et concise au problème posé.
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!