Maison >développement back-end >Tutoriel Python >Comment fonctionnent les compréhensions de listes imbriquées en Python ?

Comment fonctionnent les compréhensions de listes imbriquées en Python ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-12 14:16:16810parcourir

How Do Nested List Comprehensions Work in Python?

Comprendre les compréhensions de listes imbriquées

En Python, les compréhensions de listes sont un moyen concis de créer des listes en itérant sur d'autres séquences. Alors que les compréhensions de listes simples impliquant des itérations à un seul niveau sont simples, les compréhensions de listes imbriquées peuvent être plus déroutantes.

Syntaxe et interprétation

Considérez la compréhension imbriquée suivante :

a = [[1, 2], [3, 4], [5, 6]]
b = [x for xs in a for x in xs]

Cette compréhension crée une nouvelle liste b en parcourant les éléments de a, qui est une liste de listes. La boucle externe (pour xs dans a) parcourt chaque liste interne, tandis que la boucle interne (pour x dans xs) parcourt chaque élément de la liste interne.

Dérouler les boucles

La clé pour comprendre les compréhensions de listes imbriquées est de visualiser les boucles au fur et à mesure de leur exécution, en les déroulant comme suit :

for x in [1, 2]:
    for x in [3, 4]:
        for x in [5, 6]:
            yield x

Cette boucle démêlée représente la compréhension imbriquée, démontrant comment elle parcourt tous les éléments de la structure imbriquée et produit les valeurs de la liste résultante b.

Généralisation

La règle générale pour les compréhensions de listes imbriquées est que les boucles s'exécutent dans l'ordre dans lequel elles sont écrit, le dernier index variant le plus rapidement. Cela permet la création de listes contenant des éléments de plusieurs niveaux de séquences imbriquées.

Exemple d'application

Les compréhensions de listes imbriquées peuvent être utiles pour des tâches telles que :

  • Aplatissement des listes imbriquées
  • Extraction d'éléments spécifiques d'un fichier multidimensionnel structure
  • Transformer les éléments d'une structure imbriquée en une nouvelle liste

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