Maison > développement back-end > Tutoriel Python > Comment trier efficacement les tuples Python par leur deuxième élément entier ?

Comment trier efficacement les tuples Python par leur deuxième élément entier ?

Linda Hamilton
Libérer: 2024-12-05 08:44:17
original
482 Les gens l'ont consulté

How to Efficiently Sort Python Tuples by Their Integer Second Element?

Tri des tuples Python par deuxième élément (valeur entière)

Lorsque vous travaillez avec des listes de tuples contenant à la fois des éléments de chaîne et des éléments entiers, les trier efficacement en fonction des valeurs entières peut être essentiel. Cet article explore une solution pour cette tâche de programmation courante.

Pour trier une liste de tuples en fonction de leur deuxième élément, qui est un entier, nous pouvons utiliser la fonction sorted() en Python. Cette fonction permet de personnaliser les critères de tri à l'aide de l'argument mot-clé clé.

Utilisation de l'argument clé

L'argument clé prend une fonction en entrée, qui détermine comment les tuples doivent être comparés. Dans ce cas, nous souhaitons les comparer en fonction de leur deuxième élément. Nous pouvons définir une fonction personnalisée en utilisant la syntaxe lambda comme suit :

lambda x: x[1]
Copier après la connexion

Cette fonction prend un seul tuple en entrée et renvoie son deuxième élément.

Trier la liste des tuples

Maintenant, nous pouvons utiliser l'argument key dans sorted() pour spécifier cette fonction personnalisée comme règle de tri :

sorted([('abc', 121), ('abc', 231), ('abc', 148), ('abc', 221)], key=lambda x: x[1])
Copier après la connexion

Cela renverra un nouveau liste contenant les tuples triés par ordre croissant par leur deuxième élément :

[('abc', 121), ('abc', 148), ('abc', 221), ('abc', 231)]
Copier après la connexion

Optimisation du tri avec Operator.itemgetter

Pour des performances optimales, pensez à utiliser Operator.itemgetter(1) au lieu de lambda x : x[1]. Operator.itemgetter est une fonction intégrée explicitement conçue pour extraire l'élément spécifié d'une structure de données, ce qui peut améliorer l'efficacité.

from operator import itemgetter
sorted([('abc', 121), ('abc', 231), ('abc', 148), ('abc', 221)], key=itemgetter(1))
Copier après la connexion

Cette approche permet d'obtenir le même résultat que l'utilisation de la fonction lambda mais peut être légèrement plus rapide dans certains cas.

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