Se connecter avec
S'enregistrer | Connectez-vous

[Python] Classer un liste d'objets en fct d'un attribut

Dernière réponse : dans Programmation

Bonjour à vous, comme je l'ai dit dans mon précédent sujet ([Python] Modifier un dictionnaire à l'aide d'une boucleICI), j'essaie de créer un petit Tactic RPG.

Voilà, donc ce que je pensais faire, au point de vue du stockage des informations, c'est de faire une liste avec chaque personnage jouable et une avec chaque personnage non-jouable. Ensuite, si le joueur veut choisir son équipe pour le prochain combat, il en choisit six parmi les possibilités.

Maintenant, je voyais chaque personnage jouable comme un objet de ma classe PJ, stocké dans la liste.

Le problème, c'est que je veux classer au choix les personnages par

Nom (alphabétique), Classe (Je parle de classe de personnage, ex: voleur, mage, guerrier), Race, Niveau, Numéro


Maintenant imaginons que je veuille classer les valeurs de ma liste de personnages joueurs en fonction des valeurs d'attributs des objets composant cette liste.

Existe-il une façon rapide de le faire, ou dois je créer une seconde liste et parcourir la première en ajoutant un à un les éléments de la première dans la deuxième ?
Lassé par la pub ? Créez un compte
Expert Programmation

Après avoir fait un "import operator", il suffit de faire:

  1. taListe.sort(key=operator.attrgetter('nom_de_ton_attribut'))

"taListe" étant une simple liste d'objets de ta classe contenant les attributs "nom_de_ton_attribut".
Lassé par la pub ? Créez un compte
Tom's guide dans le monde