Liste Par Compréhension Python Examples
Jetons un coup d'œil à la compréhension d'un compteur de mots ci-dessous: word = ["Ceci est un tutoriel de compréhension de liste python"] wordCounter = [ '' + 1 pour i dans le mot] imprimer wordCounter Sortie: 7 Une compréhension de liste peut également accepter une fonction qui effectue une opération spécifique. Insérons une fonction de multiplicateur qui obtient des nombres pairs dans une compréhension de liste pour voir comment cela fonctionne: Nombres = [4, 7, 8, 15, 17, 10] def multiplicateur n: multiple = n * 2 retour multiple multipleEven = [multiplicateur i pour i en nombres si i% 2 == 0] impression multipleEven Sortie: [8, 16, 20] Vous pouvez toujours écrire le code ci-dessus dans une seule fonction sans utiliser la compréhension. Liste par compréhension python 6. Mais une compréhension de liste est utile lorsque vous devez effectuer plusieurs itérations et placer chacune d'elles dans des variables séparées. Par exemple, vous pouvez effectuer une autre opération sur n et ayez une variable dédiée pour cela. Modifions la compréhension ci-dessus pour générer des nombres pairs à partir de nombres impairs: multipleEvenFromOdds = [multiplicateur i pour i en nombres sinon i% 2 == 0] impression multipleEvenFromOdds Sortie: [14, 30, 34] Compréhensions du dictionnaire et des ensembles En plus d'une compréhension de liste, Python propose également un dictionnaire et une fonctionnalité de compréhension d'ensemble.
Liste Par Compréhension Python 6
[f(x) for x in ma_liste] peut se lire «la liste des f(x) quand x parcourt la liste ma_liste». Débuter avec Python au lycée. On obtient le même résultat en mettant directement une expression en x à la place de f(x). [2*x for x in ma_liste] peut se lire «la liste des doubles de x quand >>> [ 2 * x for x in range ( 0, 10)] [0, 2, 4, 6, 8, 10, 12, 14, 16, 18] Filtrage et application d'une fonction ¶ Les deux derniers paragraphes peuvent se combiner. [f(x) for x in ma_liste if test(x)] peut se lire «la liste des f(x) quand x parcourt la liste ma_liste, tels que test(x) est vrai».
Liste Par Compréhension Python Sur
Nous pouvons stocker le résultat final dans une nouvelle liste. Dans l'exemple suivant, nous itérons sur la liste en utilisant la fonction range(): l1 = [1, 5, 1, 8, 9, 15, 6, 2, 1] pos = [] x = 1 #The required element for i in range(len(l1)): if l1[i] == x: (i) print(pos) Production: [0, 2, 8] Une façon plus efficace et plus compacte de mettre en œuvre le code ci-dessus est d'utiliser la compréhension de la liste ci-dessous. Comment extraire des nombres d'une chaîne de caractèresen Python | Delft Stack. l1 = [1, 5, 1, 8, 9, 15, 6, 2, 1] pos = [i for i in range(len(l1)) if l1[i]==1] De même, nous pouvons également utiliser la fonction enumerate(), qui renvoie l'index et la valeur ensemble. Par exemple: l1 = [1, 5, 1, 8, 9, 15, 6, 2, 1] pos = [i for i, x in enumerate(l1) if x == 1] Utiliser la fonction () pour trouver les indices de toutes les occurrences d'un élément en Python La bibliothèque NumPy a la fonction where(), qui est utilisée pour retourner les indices d'un élément dans un tableau basé sur une condition quelconque. Pour cette méthode, nous devons passer la liste sous forme de tableau.
J'aime principalement deux choses dans le langage Python: la redoutable simplicité de sa syntaxe, et l'incroyable puissance des listes en compréhension, permettant d'effectuer des traitements en une seule ligne imbuvable. Oui, c'est parfaitement contraire au premier point. Je vais donc revenir sur ces listes en compréhensions. De quoi parle-t-on? Les listes en compréhension sont une syntaxe présente dans le langage Python (entre autres) permettant de filtrer un itérable (comme une liste). En gros, cela permet l'écriture d'une boucle for dont la finalité est de créer une liste. Un exemple sera plus parlant. resultat = [] for i in range ( 10): resultat. Liste par compréhension python 4. append ( i * 2) Cette syntaxe classique utilise 3 lignes pour générer la simple liste [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]. Voyons maintenant comment écrire cela autrement: resultat = [ i * 2 for i in range ( 10)] Voila. Rien de plus. Nous arrivons au même résultat avec une écriture bien plus concise. Il est possible de compléter l'exemple précédent: if ( i% 2 == 0): resultat.