Maison > développement back-end > Tutoriel Python > Comment calculer les différences entre les éléments consécutifs dans une liste Python : expressions Lambda et compréhensions de liste

Comment calculer les différences entre les éléments consécutifs dans une liste Python : expressions Lambda et compréhensions de liste

Linda Hamilton
Libérer: 2024-10-29 05:10:02
original
962 Les gens l'ont consulté

How to Calculate Differences Between Consecutive Elements in a Python List: Lambda Expressions vs List Comprehensions

Trouver des différences entre les éléments d'une liste en Python

Étant donné une liste de valeurs numériques, notre objectif est de déterminer les différences entre des éléments consécutifs. Deux approches sont couramment utilisées pour cette tâche : les expressions lambda et les compréhensions de liste.

Expressions lambda

Les expressions lambda fournissent un moyen concis de créer des fonctions anonymes. Dans ce cas, une fonction lambda peut être utilisée pour calculer la différence entre deux éléments adjacents :

<code class="python">lambda i, j: j - i</code>
Copier après la connexion

Nous pouvons ensuite parcourir la liste à l'aide de zip pour associer chaque élément à son successeur et appliquer la fonction lambda à calculer les différences :

<code class="python">differences = [lambda i, j: j - i for i, j in zip(t[:-1], t[1:])]</code>
Copier après la connexion

Compréhensions de listes

Les compréhensions de listes sont également un outil puissant pour la manipulation de listes. Ils offrent un moyen concis de construire une nouvelle liste basée sur les valeurs d'une liste existante :

<code class="python">differences = [j - i for i, j in zip(t[:-1], t[1:])]</code>
Copier après la connexion

Dans cette compréhension, la clause for parcourt les paires d'éléments créées par zip. L'expression j - i calcule la différence entre chaque paire, et les valeurs résultantes sont stockées dans la liste des différences.

Exemple

Pour illustrer, considérons la liste t = [1, 3, 6]. En utilisant soit l'approche d'expression lambda, soit l'approche de compréhension de liste, nous pouvons calculer les différences comme suit :

<code class="python"># Lambda expression
differences = [lambda i, j: j - i for i, j in zip(t[:-1], t[1:])]
print(differences)  # [2, 3]

# List comprehension
differences = [j - i for i, j in zip(t[:-1], t[1:])]
print(differences)  # [2, 3]</code>
Copier après la connexion

Les deux approches donnent le résultat correct, donc le choix de celle à utiliser dépend des préférences personnelles et des exigences spécifiques de le code.

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