Maison >développement back-end >Tutoriel Python >Comment trouver l'intersection de deux listes imbriquées en Python ?

Comment trouver l'intersection de deux listes imbriquées en Python ?

DDD
DDDoriginal
2024-11-30 16:54:10897parcourir

How Do You Find the Intersection of Two Nested Lists in Python?

Détermination de l'intersection des listes imbriquées

Trouver l'intersection de deux listes plates est un processus simple. Cependant, cela devient plus complexe lorsqu’il s’agit de listes imbriquées. Cet article propose une solution pour extraire les éléments communs de deux listes imbriquées et les présenter dans un format imbriqué.

Pour comprendre la solution, il est important de noter que l'intersection de deux ensembles, ou listes, est la collection d'éléments communs aux deux ensembles. Dans le cas de listes imbriquées, nous devons effectuer l'opération d'intersection sur les éléments individuels de chaque liste.

Pour y parvenir, nous pouvons utiliser la structure de données d'ensemble intégrée à Python, qui fournit des opérations efficaces pour trouver des carrefours. Considérons les listes imbriquées suivantes :

c1 = [1, 6, 7, 10, 13, 28, 32, 41, 58, 63]
c2 = [[13, 17, 18, 21, 32], [7, 11, 13, 14, 28], [1, 5, 6, 8, 15, 16]]

Notre objectif est de trouver l'intersection de ces deux listes et d'obtenir le résultat suivant :

c3 = [[13, 32], [7, 13, 28], [1, 6]]

Pour ce faire, nous pouvons convertir chaque liste imbriquée liste en un ensemble de ses éléments. Ensuite, nous pouvons effectuer l’opération d’intersection sur ces ensembles pour identifier les éléments communs. Enfin, nous pouvons reconvertir l'ensemble intersecté en une liste imbriquée, en préservant la structure d'imbrication d'origine.

# Convert each nested list to a set
set1 = set(c1)
set2s = [set(list_) for list_ in c2]

# Find the intersection of the sets
intersected_sets = set1.intersection(*set2s)

# Convert the intersected set back into a nested list
c3 = [[element for element in list_ if element in intersected_sets] for list_ in c2]

En suivant ces étapes, nous pouvons trouver efficacement l'intersection des listes imbriquées et présenter le résultat dans le format souhaité. format.

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!

Déclaration:
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