Maison >développement back-end >Tutoriel Python >Comment trouver l'intersection de deux listes imbriquées en 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!