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 :

Modification non prise en compte


Sujet :

Python

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 19
    Points : 18
    Points
    18
    Par défaut Modification non prise en compte
    J'ai un petit probleme :

    je veux modifier une chaine de caractere contenue dans un dictionnaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for word in result2.values():
        if isinstance(word,str):
            word = word.replace(" ' "," ' ' ")
    le probleme c'est qu'il me modifie bien word mais il ne fait pas la modification dans le dictionnaire. Quelqu'un peut il m'expliquer?

    Est ce que si je fais comme ca ca change qqch?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for iterator in result2.itervalues():
        result2[iterator] = result2[iterator].replace(" ' ", " ' ' ")

    Si oui dites moi ce qui ne fonctionne pas car il me renvoie une Key Error

    Merci

  2. #2
    Membre régulier
    Inscrit en
    Août 2005
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 89
    Points : 91
    Points
    91
    Par défaut
    dans la doc Python:
    a.values() : a copy of a's list of values

    donc je suppose que ce n'est pas la référence vers tes chaîne mais des copies des chaînes, donc c'est normal que la première façon ne fonctionne pas.

    pour la 2ème, je crois qu'il suffit de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    for word in result2.itervalues():
        word = word.replace(" ' ", " ' ' ")
    voilà je débarque en python alors je suis pas sur de moi...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 19
    Points : 18
    Points
    18
    Par défaut
    merci pour le coup de main
    malheureusement pour moi il a l'air de faire pareil que pour la premiere façon, il doit travailler également sur une copie.

    merci

  4. #4
    Membre régulier
    Inscrit en
    Août 2005
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 89
    Points : 91
    Points
    91
    Par défaut
    c bon j'ai trouvé pourquoi. Quand on fait word = word.machin, on change la référence de word, mais pas la référence de la chaîne qui se trouve dans le dictionnaire.

    donc il suffit de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    for k in d.keys():
         d[k] = d[k].replace(...)
    j'ai testé ça marche

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 19
    Points : 18
    Points
    18
    Par défaut
    Nickel ca marche!!
    Merci beaucoup!!

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 20/10/2008, 20h59
  2. SaveOrUpdate : modification non prises en comptes
    Par julienOriano dans le forum Hibernate
    Réponses: 7
    Dernier message: 15/06/2007, 14h20
  3. Modifications non prises en compte
    Par kelidric dans le forum Dev-C++
    Réponses: 1
    Dernier message: 23/02/2007, 16h28
  4. [Continuum] Modification non prises en compte
    Par CharlSka dans le forum Intégration Continue
    Réponses: 8
    Dernier message: 12/02/2007, 10h51
  5. [netbeans] Modifications non prises en compte
    Par nadass dans le forum NetBeans
    Réponses: 6
    Dernier message: 07/04/2005, 13h49

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