Partage
  • Partager sur Facebook
  • Partager sur Twitter

[python] [TP] Créer un dictionnaire ordonné

Classe DictionnaireOrdonné héritant de dict

    9 avril 2020 à 10:50:02

    Bonjour à tous !

    Je profite du confinement pour faire le cours openclassrooms python et je suis rendu à la création d'un dictionnaire ordonné (https://openclassrooms.com/fr/courses/235344-apprenez-a-programmer-en-python/233322-tp-realisez-un-dictionnaire-ordonne

    Ma question est est ce qu'il est possible de créer cette classe qui hériterait de la classe dict. Qui créerait un dictionnaire classique avec en plus deux listes de clé et de valeurs.
    Il faudrait pour ça pouvoir "mettre à jour" l'objet dans la méthode sort qui classe les éléments du dictionnaire.

    Pensez vous que c'est possible ?

    Je vous remercie !

    Cordialement,
    Thibault

    • Partager sur Facebook
    • Partager sur Twitter
      9 avril 2020 à 15:42:39

      Bonjour. Je te dirais qu'à priori tout est possible, mais j'avoue ne pas bien saisir ta question. Je comprends que tu t'interroges sur la possibilité de création d'une classe, mais je ne comprends pas ce que tu demandes à cette classe ?
      • Partager sur Facebook
      • Partager sur Twitter

      typage structurel ftw

        9 avril 2020 à 18:03:23

        ThibaultDufresne a écrit:

        Ma question est est ce qu'il est possible de créer cette classe qui hériterait de la classe dict. Qui créerait un dictionnaire classique avec en plus deux listes de clé et de valeurs.

        Ce n'est pas l'objectif du TP ! Le but est de créer un dictionnaire ordonné...

        Maintenant ce que tu indiques, n'est pas la création, mais le changement de comportement de l'objet standard dict, c'est tout l'intérêt de l'héritage, mais n'est pas ce qui est demandé dans ton TP. Cependant ce TP n'a pu vraiment lieu d'être, car pour les dernières versions python, le dictionnaire est ordonné selon l'ordre d'ajout des items, alors qu'avant il ne l'était pas, l'objet OrderedDict faisait cela.

        • Partager sur Facebook
        • Partager sur Twitter

        Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
        La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

          4 août 2020 à 10:40:41

          Bonjour,

          Je ne comprends pas ce que définissent les objets "_cles" ou "_valeurs utilisés

          On pourrait croire qu'il s'agit d'attributs.

          Cependant au moment de définir les attributs dans https://openclassrooms.com/fr/courses/235344-apprenez-a-programmer-en-python/232721-apprehendez-les-classes l'auteur n'utilise pas de signe "_" (avec prenom, etc). Signe qu'il utilise dans ce même cours pour definir une méthode associée à un attribut.

          (Oui je n'ai rien compris au TP :D)

          Merci

          Pierre

          -
          Edité par PierrePoitevin 4 août 2020 à 10:41:59

          • Partager sur Facebook
          • Partager sur Twitter
            4 août 2020 à 13:17:48

            Peu importe que le nom commence par un underscore ou pas, c'est un attribut. On met un underscore pour signifier qu'il vaut mieux éviter de modifier directement l'attribut depuis l'extérieur.

            Quant à clés et valeurs : pour un dictionnaire donné, {"a": 1, "b": 2, "c": 3}, on peut le représenter comme deux objets : clés: ["a", "b", "c"] et valeurs: [1, 2, 3], l'ordre est important.

            • Partager sur Facebook
            • Partager sur Twitter

            typage structurel ftw

              4 août 2020 à 13:39:50

              ThibaultDufresne a écrit: > Ma question est est ce qu'il est possible de créer cette classe qui hériterait de la classe dict. Qui créerait un dictionnaire classique avec en plus deux listes de clé et de valeurs.

              Oui ce serait une manière de résoudre l'exercice. Mais tu n'aurais pas besoin d'une liste supplémentaire pour les valeurs, simplement une liste des clés ordonnées.

              • Partager sur Facebook
              • Partager sur Twitter

              [python] [TP] Créer un dictionnaire ordonné

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown