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 :

Problème avec dictionnaire de listes [Python 2.X]


Sujet :

Python

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 2
    Par défaut Problème avec dictionnaire de listes
    Bonjour,
    j'ai un souci avec l'utilisation d'un dictionnaire, dont les valeurs sont des listes.
    Soit la séquence suivante :

    >>> l_key = ['a', 'b', 'c', 'd', 'e']
    >>> d = dict.fromkeys(l_key, [])
    >>> d
    {'a': [], 'c': [], 'b': [], 'e': [], 'd': []}
    >>> d['c'].append(3)
    >>> d
    {'a': [3], 'c': [3], 'b': [3], 'e': [3], 'd': [3]}
    >>>

    Ici, je ne comprends pas pourquoi la valeur 3 a été ajouté à chaque clé du dictionnaire. Je pensais obtenir ceci :

    {'a': [], 'c': [3], 'b': [], 'e': [], 'd': []}

    Sauriez-vous me dire ce qui ne va pas ?

    Merci.

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 941
    Par défaut
    Bonjour,

    Quand tu écris d = dict.fromkeys(l_key, []), Python crée une nouvelle liste et passe une référence à cette liste à la méthode fromkeys. Cette méthode crée un dictionnaire et assigne comme valeur associée à chaque clé une référence à la liste en question. Mais c'est toujours la même liste; il n'y en a qu'une seule, qui est référencée plusieurs fois.

    Pour arriver au résultat que tu attendais, tu peux créer ton dictionnaire comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    >>> d = {k:[] for k in l_key}
    Ici la création de la liste se trouve dans une boucle, une nouvelle liste sera créée pour chaque clé

    PS: la prochaine fois utilise la balise code (#) s'il te plaît

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 2
    Par défaut
    Bonjour,
    ça fonctionne

    Merci

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

Discussions similaires

  1. [TidFtp] Problème avec les FTP List Parse
    Par Philbzh dans le forum Delphi
    Réponses: 1
    Dernier message: 20/06/2006, 09h48
  2. Problème avec zone de liste déroulante
    Par jerem78 dans le forum Access
    Réponses: 4
    Dernier message: 07/06/2006, 16h58
  3. Problème avec le package listings
    Par Neitsa dans le forum Mise en forme
    Réponses: 5
    Dernier message: 16/05/2006, 17h09
  4. problème avec zone de liste
    Par Waluigi dans le forum Access
    Réponses: 1
    Dernier message: 27/04/2006, 09h12
  5. Probléme avec zone de liste dépendante!
    Par sunflower dans le forum IHM
    Réponses: 5
    Dernier message: 26/12/2005, 17h34

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