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 :

Créer une nouvelle entrée dictionnaire par incrémentation


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Créer une nouvelle entrée dictionnaire par incrémentation
    Bonjour,
    J'aimerais savoir s'il y a un moyen plus pratique pour créer une nouvelle valeur dans un dictionnaire dans le cas suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    monDico = {"coucou": 1, "hello":2}
    # Je veux incrémenter de 1 la valeur si la clé existe, sinon, ajouter cette clé avec pour valeur 1.
    if "salut" in monDico:
        monDico["salut"] += 1
    else:
        monDico["salut"] = 1
    C'est terriblement lourd, sachant que quelque chose comme :

    directement serait pratique, ceci sous-entendant que si la clé n'existe pas, python la crée.
    Malheureusement python retourne dans ce cas une erreur (KeyError: 'salut').
    Que faire ?
    Merci d'avance !

  2. #2
    Membre expérimenté Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Points : 1 481
    Points
    1 481
    Par défaut
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monDico['salut'] = monDico.get('salut', 0) + 1
    fait l'affaire
    "La simplicité ne précède pas la complexité, elle la suit." - Alan J. Perlis
    DVP ? Pensez aux cours et tutos, ainsi qu'à la FAQ !

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Merci !
    Et pour la méthode de dictionnaire get, je suis allé voir par ici : http://www.tutorialspoint.com/python/dictionary_get.htm

  4. #4
    Membre expérimenté Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Points : 1 481
    Points
    1 481
    Par défaut
    Pour tout ce qui est "comptage" avec résultat dans un dictionnaire, collections.Counter est également une bonne piste.
    "La simplicité ne précède pas la complexité, elle la suit." - Alan J. Perlis
    DVP ? Pensez aux cours et tutos, ainsi qu'à la FAQ !

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Hmmm, vraiment intéressant, ce module collections.
    Merci encore !

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

Discussions similaires

  1. Impossible de créer une nouvelle entrée DNS
    Par Marge dans le forum Réseau
    Réponses: 7
    Dernier message: 14/11/2010, 18h53
  2. Réponses: 3
    Dernier message: 30/09/2009, 14h15
  3. Réponses: 5
    Dernier message: 09/09/2007, 16h40
  4. Réponses: 6
    Dernier message: 27/08/2006, 18h57
  5. Réponses: 2
    Dernier message: 03/02/2004, 21h56

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