Comment calculer efficacement les différences entre les éléments consécutifs dans une liste Python ?

Susan Sarandon
Libérer: 2024-10-28 06:15:30
original
573 Les gens l'ont consulté

 How to Efficiently Calculate Differences Between Consecutive Elements in a Python List?

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

Souvent dans le traitement des données, nous rencontrons des situations où nous devons calculer les différences entre les éléments dans une liste. Ceci peut être réalisé en utilisant diverses techniques en Python.

Expressions lambda vs compréhensions de liste

Il existe deux approches courantes pour cette tâche : les expressions lambda et les compréhensions de liste. Les deux techniques ont leurs propres avantages. Explorons-les :

Expression Lambda :

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

Compréhension de liste :

<code class="python">result = [i - j for i, j in [(t[i], t[i+1]) for i in range(len(t)-1)]]</code>
Copier après la connexion

Comparaison et Performance

Bien que les deux approches soient valides, les compréhensions de listes fonctionnent généralement mieux que les expressions lambda. En effet, les compréhensions de listes sont plus compactes et plus faciles à lire. De plus, ils sont optimisés pour la manipulation de listes et entraînent souvent une exécution de code plus rapide.

Exemple

Considérez la liste t = [1, 3, 6]. Nous voulons calculer les différences entre des éléments consécutifs, ce qui donne la liste v = [2, 3]. En utilisant l'approche de compréhension de liste, nous pouvons y parvenir comme suit :

<code class="python">t = [1, 3, 6]
v = [j - i for i, j in zip(t[:-1], t[1:])]
print(v)  # Output: [2, 3]</code>
Copier après la connexion

Dans cet exemple, la fonction zip associe les éléments adjacents dans la liste et la compréhension de liste soustrait chaque paire pour produire les différences souhaitées.

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