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 :

Partage de référence entre une variable et un dictionnaire


Sujet :

Python

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 11
    Par défaut Partage de référence entre une variable et un dictionnaire
    Bonjour,
    Je voudrais savoir si il était possible de modifier la valeur d'une variable par l'intermédiaire d'un dictionnaire où cette variable à été entrée comme valeur. J'ai essayé de le faire avec le programme ci-dessous mais il semblerait que le dictionnaire fasse juste une copie de la valeur de la variable qui est rentrée. Est il possible d'assigner une référence à une variable en python, et si oui comment?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    A=True
    B={1:A}
    B[1]= False
    print(A)
    print(B)

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 720
    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 720
    Par défaut
    Salut,

    Citation Envoyé par MaDuDe Voir le message
    Est il possible d'assigner une référence à une variable en python?
    Avec Python une variable est l'association entre une étiquette et un objet.
    Un peu comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> d = dict(a=1)
    >>> d
    {'a': 1}
    >>>
    donc si j'écris:
    je crée un dictionnaire associé à b où la clef 1 est associée à l'objet d['a'].
    Et si on assigne un autre objet à b[1], il n'y a aucune raison pour modifier le dictionnaire d.
    Par contre, si on associe a un objet mutable:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>> a = []
    >>> b = {1: a}
    alors:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >>> b[1].append('x')
    >>> a
    ['x']
    si je modifie l'objet associé à b[1], c'est le même que celui associé à a (mais modifier un objet mutable est un peu différent d'assigner un autre objet).

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

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 11
    Par défaut
    Merci de ta réponse.
    Il n'est donc pas possible de modifier simultanément la valeur associé à b[1] et à a si a est une simple variable?

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 720
    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 720
    Par défaut
    Citation Envoyé par MaDuDe Voir le message
    Il n'est donc pas possible de modifier simultanément la valeur associé à b[1] et à a si a est une simple variable?
    Ici la terminologie est importante: vous ne pouvez modifier que des objets mutables... Pour les autres, les modifier, c'est créer un nouvel objet qu'on va assigner à...

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

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 11
    Par défaut
    Merci beaucoup.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/02/2009, 13h56
  2. Réponses: 2
    Dernier message: 07/11/2007, 18h19
  3. partager le contenu d'une variable
    Par poula dans le forum Oracle
    Réponses: 3
    Dernier message: 23/12/2006, 13h50
  4. Réponses: 3
    Dernier message: 28/07/2005, 21h30

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