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 :

Insérer une variable comme valeur d'un dictionnaire


Sujet :

Python

  1. #1
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2011
    Messages : 34
    Par défaut Insérer une variable comme valeur d'un dictionnaire
    Bonjour,

    Je souhaiterais attribuer une variable de type string à une valeur d'un dictionnaire.

    J'obtiens bien une valeur du type "Mon titre" dans ma variable element_titre, mais quand j'écris : objet["Titre"] = element_titre
    Le résultat est "None" dans le dictionnaire. J'ai vérifié ma variable et j'ai vérifié le type d'objet qui est bien un dictionnaire.

    Malgré les doc sur les dictionnaires qui sont nombreuses, je ne comprend pas mon erreur...

    Voici le morceau de code qui correspond au problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if "Titre" in element:
        i = i + 1
        objet = "livre" + str(i)
        objet = {}
        a = element.find(':"')+1
        element_titre = element[a:]
        element_titre = str(SuprCar(element_titre))
        objet["Titre"] = element_titre
    Par avance un grand merci pour vos conseils !!

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    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 062
    Par défaut
    Bonjour,

    Je ne crois que ce que je vois, peut-on reproduire dans un code exécutable par nos soins ?

    Si non, que donne comme informations les print dans le code ci-dessous ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if "Titre" in element:
        i = i + 1
        objet = "livre" + str(i)
        objet = {}
        a = element.find(':"')+1
        element_titre = element[a:]
        element_titre = str(SuprCar(element_titre))
        print(element_titre)  # ?
        print(type(element_titre))  # ?
        objet["Titre"] = element_titre

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 832
    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 832
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par Allen_blocci Voir le message
    Je souhaiterais attribuer une variable de type string à une valeur d'un dictionnaire.
    A priori, il n'y a rien de très compliqué dans cette opération...

    Citation Envoyé par Allen_blocci Voir le message
    Malgré les doc sur les dictionnaires qui sont nombreuses, je ne comprend pas mon erreur...
    fred1599 a parlé de print() à placer là où il faut (c'est quand-même la base d'un debug). Ce que moi je ne comprends pas c'est ce objet = "livre" + str(i) suivi de objet = {} juste en dessous. Ok j'admets que cela n'a pas de rapport avec ton souci mais quand on est capable d'écrire ça sans tiquer, on est capable alors d'écrire beaucoup d'autres choses qui, elles, pourraient être en rapport...
    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]

  4. #4
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2011
    Messages : 34
    Par défaut
    Bonjour,

    Tout d'abord un grand merci de prendre le temps de me répondre !!

    Pour répondre à fred1599 voilà les résultats des print demandés :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    print(element_titre) 
    None
     
    print(type(element_titre)) 
    <class 'str'>
    L'erreur venait donc de ma fonction str(SuprCar(element_titre)), erreur corrigée, elle venait du fait que je ne renvoyais pas la variable globale element_titre.

    Désolé pour cette erreur de débutant et de n'avoir pas fait les print au bon endroit pour trouver le bug moi même.

    J'apprends et vous en remercie.

  5. #5
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 832
    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 832
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Allen_blocci Voir le message
    L'erreur venait donc de ma fonction str(SuprCar(element_titre)), erreur corrigée, elle venait du fait que je ne renvoyais pas la variable globale element_titre.
    Si elle est globale (ce qui déjà est tout sauf une bonne idée) elle n'a pas besoin d'être renvoyée...
    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]

  6. #6
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2011
    Messages : 34
    Par défaut
    Si elle est globale (ce qui déjà est tout sauf une bonne idée) elle n'a pas besoin d'être renvoyée...
    Autant pour moi, elle n'est pas "globale", je voulais juste dire que je ne l'avais pas "renvoyée" (return).

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

Discussions similaires

  1. Insérer une variable dans une valeur ?
    Par Corwin69 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 27/04/2018, 17h24
  2. Réponses: 12
    Dernier message: 20/11/2015, 12h52
  3. [AppleScript] Mettre la valeur d'une variable comme étiquette d'un record
    Par Flore22 dans le forum AppleScript
    Réponses: 0
    Dernier message: 05/05/2010, 10h58
  4. donner la valeur d'une variable comme nom de table
    Par cladsam dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 14/10/2005, 15h16
  5. [Custom Tags 1.2] Passer une variable comme valeur d'attribut d'un tag jsp
    Par Pi2 dans le forum Taglibs
    Réponses: 7
    Dernier message: 16/09/2005, 14h44

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