Trouver les différences entre les éléments dans les listes Python
Le calcul des différences entre les éléments adjacents dans une liste est une tâche courante dans l'analyse et la manipulation de données. Deux solutions populaires incluent les expressions lambda et les compréhensions de liste.
Expressions lambda
Les expressions lambda fournissent une syntaxe concise pour définir des fonctions anonymes. Pour calculer les différences à l'aide d'une expression lambda, vous pouvez utiliser le code suivant :
<code class="python">differences = list(map(lambda x, y: y - x, t[:-1], t[1:]))</code>
Ce code parcourt les éléments de la liste t, à l'exclusion du dernier élément, et calcule la différence entre l'élément actuel et l'élément suivant. en utilisant la fonction lambda lambda x, y : y - x. Les différences résultantes sont stockées dans la liste des différences.
Compréhensions de listes
Les compréhensions de listes offrent une manière plus compacte de définir des séquences en Python. Pour créer une liste de différences à l'aide d'une compréhension de liste, vous pouvez utiliser le code suivant :
<code class="python">differences = [j - i for i, j in zip(t[:-1], t[1:])]</code>
Ce code utilise la fonction zip pour parcourir les éléments de la liste t, en excluant le dernier élément, et les paires formez-les sous forme de tuples. Chaque tuple contient l'élément actuel et l'élément suivant. La compréhension de liste applique ensuite l'opération de soustraction à chaque tuple et génère une liste de différences.
Comparaison
Les expressions lambda et les compréhensions de liste peuvent être utilisées pour calculer les différences dans Listes Python. Cependant, les compréhensions de listes sont généralement plus concises et plus lisibles pour cette tâche particulière. Ils évitent également de devoir définir explicitement une fonction, ce qui peut être bénéfique dans certains cas.
Exemple
Étant donné la liste t=[1, 3, 6] , le code ci-dessous montre comment calculer les différences en utilisant les deux méthodes :
<code class="python">print([j-i for i, j in zip(t[:-1], t[1:])]) # list comprehension print(list(map(lambda x, y: y - x, t[:-1], t[1:]))) # lambda expression</code>
Ce code affichera le résultat suivant :
[2, 3] [2, 3]
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!