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 :

Clé manquante dans le dictionnaire


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Developer
    Inscrit en
    Janvier 2023
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Developer
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2023
    Messages : 15
    Par défaut Clé manquante dans le dictionnaire
    Bonjour,

    J'essaie de supprimer une clé d'un dictionnaire en Python, mais je reçois une erreur et je ne sais pas comment la réparer. C'est mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    my_dict = {'a': 1, 'b': 2, 'c': 3}
     
    key_to_remove = 'b'
    my_dict.pop(key_to_remove)
    Je reçois le problème suivant lorsque j'exécute ce code*:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TypeError: pop expected at least 1 argument, got 0
    Je pensais que la clé était le seul argument requis par la fonction pop(), donc je ne sais pas pourquoi je reçois ce problème. Je m'attendais à ce que l'utilisation de extend() influence immédiatement la première liste, mais il semble que je me sois trompé, alors j'ai lu cet article sur le scaler. Quelqu'un peut-il expliquer pourquoi cela ne fonctionne pas correctement et proposer une méthode pour obtenir la liste fusionnée nécessaire*?

    Pouvez-vous m'aider à déterminer ce qui ne va pas et comment y remédier*? Merci d'avance pour votre aide!

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 753
    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 753
    Par défaut
    Citation Envoyé par jesse100 Voir le message
    Pouvez-vous m'aider à déterminer ce qui ne va pas et comment y remédier*? Merci d'avance pour votre aide!
    Si je recopie le code que vous avez posté dans l'interpréteur Python, j'obtiens:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> my_dict = {'a': 1, 'b': 2, 'c': 3}
    >>> key_to_remove = 'b'
    >>> my_dict.pop(key_to_remove)
    2
    C'est le fonctionnement "as expected".

    Le message d'erreur "TypeError: pop expected at least 1 argument, got 0" suggère que vous avez exécuté:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>> my_dict.pop()
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: pop expected at least 1 argument, got 0
    >>>
    autrement dit autre chose que le code mentionné.

    Les messages d'erreurs sont là pour aider à comprendre ce qu'il se passe, il faut apprendre à les lire et un peu de rigueur quant à la description du problème rencontré. C'est normalement ce qu'on apprend en essayant de faire les exercices proposés dans les tutos.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 545
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 545
    Par défaut
    tu parles aussi de extend qui s'applique sur une liste et non pas un dictionnaire, qu'est-ce que ça vient faire ici ?
    extend ajoute bien les éléments à la liste "pointée" par extend

    ton post n'est pas clair, tu donnes un code sur un dictionnaire, puis tu parles d'une liste et d'un extend de celle-ci puis enfin d'une liste fusionnée sans donner de code pour ces dernières problématiques.

    On t'as répondu sur le dictionnaire, il te reste à nous fournir les éléments manquants pour qu'on comprenne ton problème global

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 721
    Par défaut
    A mon avis, le code voulu est ceci:
    pop s'applique aux listes, pas au dicts.

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 753
    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 753
    Par défaut
    Citation Envoyé par binarygirl Voir le message
    pop s'applique aux listes, pas au dicts.
    pop s'applique aussi aux dictionnaires.

    Pour les listes, on peut appeler cette méthode sans paramètre (cela retournera le dernier item de la liste) ou avec l'index de l'item à supprimer. Pour les dictionnaires, il faut toujours passer la clef en argument sinon on récupère le message d'erreur mentionné.

    Après que le PO soit un peu perdu avec les différences entre liste et dictionnaire, c'est qu'il manque de rigueur ou n'a pas pris le temps de réfléchir un peu à ce que sont ces objets fort abstrait lorsqu'on les découvre la première fois. Mais il y a des tutos et plein d'exercice pour s'entrainer et comprendre...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. [DEBUTANT]methode manquante dans ma classe ?
    Par Battosaiii dans le forum Débuter
    Réponses: 3
    Dernier message: 25/08/2006, 11h56
  2. Informations erronées et manquantes dans phpinfo
    Par skipou dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 26/07/2006, 10h01
  3. SvcMgr : manquant dans Delphi 2005 ???
    Par sinfoni dans le forum Delphi
    Réponses: 4
    Dernier message: 23/07/2006, 15h31
  4. Objet manquant dans le menu insertion
    Par Speedy08 dans le forum Access
    Réponses: 3
    Dernier message: 17/03/2006, 20h19
  5. [Webforms] Onglet ASP.NET manquant dans admin IIS
    Par quanou dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 19/09/2005, 13h14

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