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>
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>
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>
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>
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!