Tri d'une liste Python par plusieurs champs
Lorsque vous travaillez avec des listes triées, il peut être nécessaire de trier selon plusieurs critères. Cela devient important lorsqu'il y a des liens dans la première clé de tri et que vous souhaitez les rompre à l'aide d'une deuxième clé.
Pour trier une liste par deux champs en Python, vous pouvez utiliser les fonctions lambda avec la fonction sorted() fonction. Cela vous permet de spécifier plusieurs clés de tri dans une seule expression.
list1 = sorted(csv1, key=lambda x: (x[0], x[1]))
Dans cet exemple, la liste est triée par la valeur du champ 1, puis par la valeur du champ 2. La fonction lambda prend l'élément en entrée et renvoie un tuple de la première valeur de champ et de la deuxième valeur de champ. La fonction sorted() trie ensuite la liste en fonction des tuples renvoyés.
Vous pouvez également utiliser cette technique pour trier par un champ ascendant et un autre champ décroissant :
sorted_list = sorted(list, key=lambda x: (x[0], -x[1]))
Dans cet exemple , la liste est triée par la première valeur de champ, puis par la deuxième valeur de champ par ordre décroissant (en raison du signe négatif). Cela peut être utile lorsque vous souhaitez trier selon les valeurs les plus élevées du deuxième champ pour chaque valeur unique du premier champ.
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!