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 :

vérifier une clé dans un dictionnaire


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 910
    Par défaut vérifier une clé dans un dictionnaire
    Bonjour;

    Comment faire pour vérifier si une clé existe dans un dictionnaire.
    J'ai tenté ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if dict['key_value'] != None:
    Mais j'ai quand-même le message d'erreur "Key Error"

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 159
    Par défaut
    Hello,
    comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56) 
    [GCC 4.4.3] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> dic = {'a': 1, 'b':2}
    >>> 'a' in dic
    True
    >>> 'c' in dic
    False
    >>> if 'a' in dict:
    ...     print 'yeah!'
    ... 
    yeah!

  3. #3
    Membre émérite
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 910
    Par défaut
    Merci

  4. #4
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 064
    Par défaut
    La méthode has_key(key) du dico est typiquement fait pour ça.

  5. #5
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    On peut aussi générer une exception:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    d = {'a':1, 'b':2, 'c':3}
     
    cle = 'x'
    try:
        print d[cle]
    except:
        print u"raté: la clé %s n'existe pas!" % (cle,)

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 159
    Par défaut
    Citation Envoyé par fred1599 Voir le message
    La méthode has_key(key) du dico est typiquement fait pour ça.
    La doc n'encourage plus vraiment l'usage de cette méthode
    http://docs.python.org/library/stdty...l#dict.has_key
    has_key() is deprecated in favor of key in d.

  7. #7
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 064
    Par défaut
    La doc n'encourage plus vraiment l'usage de cette méthode
    En effet, merci de m'en faire rendre compte, j'avais même pas capté. Dans la version 3 elle est même supprimée à ce que j'ai pu lire.

    Et en comparaison, au niveau performance, ta méthode est plus efficace.


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

Discussions similaires

  1. Vérifier une requete dans une vue
    Par codesig dans le forum Langage
    Réponses: 6
    Dernier message: 14/08/2007, 15h31
  2. comment modifier une liste dans un dictionnaire?
    Par Mydriaze dans le forum Général Python
    Réponses: 1
    Dernier message: 06/08/2007, 19h57
  3. Une variable dans un dictionnaire, et faire recherche
    Par ploop dans le forum Général Python
    Réponses: 4
    Dernier message: 30/06/2007, 19h01
  4. [Formulaire]vérifier une saisie dans une zone de liste
    Par ludovicparis dans le forum IHM
    Réponses: 6
    Dernier message: 02/04/2007, 14h51
  5. [MySQL] Vérifier une URL dans la validation d'un formulaire
    Par groupejtt dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 30/11/2006, 11h48

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