• # ChatGPT

    Posté par (Mastodon) . En réponse au message [Résolu] Indiquer quelle donnée d'une classe doit servir pour le tri avec sorted(). Évalué à 4. Dernière modification le 16 septembre 2024 à 08:08.

    J'ai simplement copié/collé ton message, voici sa réponse. Je laisse les Pythoneux confirmer ou infirmer (indispensable dès qu'on utilise ChatGPT).


    Pour trier des objets de ta classe personnalisée Moule, il te faut utiliser le paramètre key de la fonction sorted(). Ce paramètre permet de spécifier une fonction qui sera appliquée à chaque élément de la liste pour déterminer sur quel critère le tri doit être fait.

    Dans ton cas, tu veux trier par l'attribut numero, donc tu passeras une fonction lambda qui retourne cet attribut pour chaque objet Moule.

    Exemple:

    list_of_moules = sorted(list_of_moules, key=lambda moule: moule.numero)

    Conceptuellement, sorted() va utiliser la fonction que tu passes dans key pour comparer les éléments de la liste. Ici, lambda moule: moule.numero est une petite fonction anonyme qui prend un objet Moule et retourne sa valeur de numero.

    Pour aller plus loin, tu peux regarder la doc officielle de sorted() ici. Elle couvre tout ce qui concerne les tris en Python, avec des exemples concrets.

    Tu as ta bénédiction de libriste !

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.