Maison > Article > développement back-end > Comment calculer efficacement les différences entre les éléments consécutifs dans une liste Python ?
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>
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>
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>
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!