IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Dictionnaire: identifier la clé numérique la plus élevée


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Occupé
    Inscrit en
    Décembre 2021
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Occupé

    Informations forums :
    Inscription : Décembre 2021
    Messages : 31
    Par défaut Dictionnaire: identifier la clé numérique la plus élevée
    Bonjour à tous.

    Connaissez-vous un moyen d'identifier la clé, bien entendu numérique, d'un dictionnaire pour pouvoir ensuite quand je le souhaite supprimer la paire clé/valeur du dictionnaire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    dico ={ 296: [3,5,6]
            287: [56,10]
            28 : [11,63] }
    Donc ici, la possibilité d'identifier 296.

    Merci à vous tous.

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 603

  3. #3
    Membre averti
    Homme Profil pro
    Occupé
    Inscrit en
    Décembre 2021
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Occupé

    Informations forums :
    Inscription : Décembre 2021
    Messages : 31
    Par défaut
    Bonjour,
    Oui merci pour le lien sauf qu'initialement, je ne connais pas la clé qui est à supprimer. Il me faut identifier sa valeur de clé et non pas la valeur max d'une clé.
    Je ne sais pas si je me fais bien compris

  4. #4
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 603
    Par défaut
    Heu, je n'ai pas tout comprendu.

    Vous souhaitez supprimer un couple clé/valeur(s) d'un dictionnaire sans connaître la valeur de la clé à supprimer ?

    Comment allez-vous déterminer cette clé à supprimer ?

    Si vous avez sa valeur et souhaitez savoir si elle est présente dans le dictionnaire, suffit de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if 296 in dico:
        del dico[296]
    Mais mon petit doigt me dit que la réponse ne sera pas celle attendue

  5. #5
    Membre averti
    Homme Profil pro
    Occupé
    Inscrit en
    Décembre 2021
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Occupé

    Informations forums :
    Inscription : Décembre 2021
    Messages : 31
    Par défaut
    Oui c'est là la difficulté. Je veux identifier la clé la plus élevée.

  6. #6
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par MagicJohnson Voir le message
    Je ne sais pas si je me fais bien compris
    Pas super, non, donc je vais ratisser large. Le point de départ, c'est dico.keys() qui te récupère toutes les clefs de ton dictionnaire. De là tu peux investiguer pour extraire celle dont tu as besoin. Ton titre parle de la plus élevée donc need=max(dico.keys()). Ensuite del dico[need]. Ou plus simplement del dico[max(dico.keys())].
    Si maintenant tu cherches la clef par rapport à la valeur qu'elle est censée avoir, alors il te faut jouer sur dico.items() qui te renvoie une suite de couple clef+valeur. De là tu cherches la valeur souhaitée et tu récupères la clef qui y fait référence.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  7. #7
    Membre averti
    Homme Profil pro
    Occupé
    Inscrit en
    Décembre 2021
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Occupé

    Informations forums :
    Inscription : Décembre 2021
    Messages : 31
    Par défaut
    Ok merci. Donc pas trop le choix que de repasser par une liste.
    Merci bien super.
    Bonne fin de journée.

  8. #8
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    >>> dico
    {296: [3, 5, 6], 287: [56, 10], 28: [11, 63]}
    >>> dico.pop(max(dico, key=lambda k: dico[k]))
    [56, 10]
    >>> dico
    {296: [3, 5, 6], 28: [11, 63]}
    >>>
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 28/08/2009, 18h33
  2. Réponses: 5
    Dernier message: 13/03/2009, 10h57
  3. Réponses: 6
    Dernier message: 19/05/2008, 17h55
  4. trouver la valeur la plus élevée dans un tableau
    Par denis.ws dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 16/05/2008, 07h43
  5. [MySQL] Valeur la plus élevée d'un champ
    Par belzeluc dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 10/01/2007, 21h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo