Maison > développement back-end > Tutoriel Python > Comment générer toutes les combinaisons d'éléments à partir d'une liste de listes en Python ?

Comment générer toutes les combinaisons d'éléments à partir d'une liste de listes en Python ?

Mary-Kate Olsen
Libérer: 2024-12-02 16:54:11
original
419 Les gens l'ont consulté

How can I generate all combinations of elements from a list of lists in Python?

Génération de toutes les combinaisons d'une liste de listes

Lorsqu'il s'agit de structures de données imbriquées, il devient essentiel de les manipuler efficacement. Une tâche courante consiste à récupérer toutes les combinaisons possibles d'éléments sur plusieurs listes.

Pour les développeurs Python, la fonction itertools.product fournit une solution concise et élégante à ce problème. Il prend plusieurs itérables comme arguments et génère des tuples représentant toutes les combinaisons possibles d'éléments de chaque itérable.

Réponse :

Pour générer toutes les combinaisons d'éléments dans une liste de listes , utilisez itertools.product comme suit :

import itertools

my_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9, 10]]

result = list(itertools.product(*my_list))
Copier après la connexion

Cela produira une liste de tuples, chacun représentant une combinaison unique d'éléments des listes d'entrée.

Exemple de sortie :

[(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)]
Copier après la connexion

L'utilisation d'itertools.product est un moyen pratique et efficace de générer toutes les combinaisons possibles d'éléments à partir de listes d'entrée complexes. structures de données 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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal