Maison >développement back-end >Tutoriel Python >Comment trier une liste d'objets par ordre décroissant par attribut ?

Comment trier une liste d'objets par ordre décroissant par attribut ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-10 19:36:10298parcourir

How to Sort a List of Objects in Descending Order by Attribute?

Comment trier une liste d'objets en fonction d'un attribut des objets

Le tri de listes d'objets complexes, tels que les objets Python, peut être une tâche de programmation courante. Considérez le scénario suivant :

Problème :

Étant donné une liste d'objets Python avec des attributs spécifiques, comment la trier en fonction d'un attribut spécifique par ordre décroissant ?

Solution :

Pour trier une liste d'objets en fonction d'un attribut, tel que .count, utilisez la méthode de tri avec une fonction lambda comme clé et définissez reverse sur True pour l'ordre décroissant.

Code :

Pour trier la liste sur place, utiliser :

orig_list.sort(key=lambda x: x.count, reverse=True)

Pour renvoyer une nouvelle liste triée, use :

new_list = sorted(orig_list, key=lambda x: x.count, reverse=True)

Explication :

  • key=lambda x : x.count spécifie l'attribut, .count, comme critère de tri.
  • reverse=True trie la liste par ordre décroissant order.

Informations supplémentaires :

  • La méthode .sort trie la liste sur place, tandis que sorted renvoie une nouvelle liste triée.
  • Les fonctions Lambda sont des fonctions anonymes qui peuvent être utilisées comme arguments clés dans les fonctions de tri.
  • Se référer à la documentation pour plus de détails sur le tri par clés.

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!

Déclaration:
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