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 :

Liste et dictionnaire


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2013
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mai 2013
    Messages : 14
    Par défaut Liste et dictionnaire
    Est-il possible de lire le contenu d'un dictionnaire stocke dans une liste
    exemple:
    [{'id': '*1'}, {'name': 'ether1'}, {'type': 'ether'}, {'mtu': '1500'}, {'l2mtu': '1598'}, {'max-l2mtu': '2028'}, {'rx-byte': '2325859885'}, {'tx-byte': '2259876120'}, {'rx-packet': '18670014'}, {'tx-packet': '1918788'}, {'rx-drop': '0'}, {'tx-drop': '0'}, {'rx-error': '0'}, {'tx-error': '0'}, {'dynamic': 'false'}, {'running': 'true'}, {'disabled': 'false'}]

    je voudrais pouvoir utiliser les variables en faisant des appels
    Merci d'avance

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Ce n'est pas un dictionnaire stocké dans une liste ça, c'est une liste de dictionnaires,
    et on accède aux items d'une liste avec leur index.

    Ne sachant pas trop ce que tu veux faire, (utiliser les variables en faisant des appels ? ), peut-être qu'un named tuple conviendrait:

    http://docs.python.org/2/library/col...h-named-fields

    Sinon, montre un exemple de ce que tu veux faire, ce sera plus simple.

  3. #3
    Membre averti
    Inscrit en
    Mai 2013
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mai 2013
    Messages : 14
    Par défaut
    liste=[{'id': '*1'}, {'name': 'ether1'}, {'type': 'ether'}, {'mtu': '1500'}, {'l2mtu': '1598'}, {'max-l2mtu': '2028'}, {'rx-byte': '2325859885'}, {'tx-byte': '2259876120'}, {'rx-packet': '18670014'}, {'tx-packet': '1918788'}, {'rx-drop': '0'}, {'tx-drop': '0'}, {'rx-error': '0'}, {'tx-error': '0'}, {'dynamic': 'false'}, {'running': 'true'}, {'disabled': 'false'}]

    liste['name'] : je sais que ceci n'est pas possible
    donc j'aimerai afficher juste le name comme en utilisant un dictionnaire

  4. #4
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2013
    Messages : 388
    Par défaut
    Salut,
    En transformant la liste en dictionnaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    l = [{'id': '*1'}, {'name': 'ether1'}, {'type': 'ether'}, {'mtu': '1500'}, 
         {'l2mtu': '1598'}, {'max-l2mtu': '2028'}, {'rx-byte': '2325859885'}, 
         {'tx-byte': '2259876120'}, {'rx-packet': '18670014'}, {'tx-packet': '1918788'}, 
         {'rx-drop': '0'}, {'tx-drop': '0'}, {'rx-error': '0'}, {'tx-error': '0'}, 
         {'dynamic': 'false'}, {'running': 'true'}, {'disabled': 'false'}]
     
    dico = { k: v for d in l for k, v in d.items() }
    print( dico['name'] )

  5. #5
    Membre averti
    Inscrit en
    Mai 2013
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mai 2013
    Messages : 14
    Par défaut
    Merci

  6. #6
    Membre averti
    Inscrit en
    Mai 2013
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mai 2013
    Messages : 14
    Par défaut
    Citation Envoyé par __dardanos__ Voir le message
    Salut,
    En transformant la liste en dictionnaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    l = [{'id': '*1'}, {'name': 'ether1'}, {'type': 'ether'}, {'mtu': '1500'}, 
         {'l2mtu': '1598'}, {'max-l2mtu': '2028'}, {'rx-byte': '2325859885'}, 
         {'tx-byte': '2259876120'}, {'rx-packet': '18670014'}, {'tx-packet': '1918788'}, 
         {'rx-drop': '0'}, {'tx-drop': '0'}, {'rx-error': '0'}, {'tx-error': '0'}, 
         {'dynamic': 'false'}, {'running': 'true'}, {'disabled': 'false'}]
    
    dico = { k: v for d in l for k, v in d.items() }
    print( dico['name'] )
    La formule marche bien mais j'ai pas compris le principe

  7. #7
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2013
    Messages : 388
    Par défaut
    Comme l est une liste de dictionnaires, l'idée est de former un nouveau dictionnaire dico en parcourant la liste.
    Chaque élément des dictionnaires d de la liste l [for d in l] est décomposé en sa clef k et en sa valeur v [for k, v in d.items()], qui sont ensuite utilisées pour former un nouvel élément à dico [partie k: v].

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

Discussions similaires

  1. liste, Tuple, dictionnaire, ou ?
    Par Pascalist dans le forum Général Python
    Réponses: 25
    Dernier message: 11/12/2011, 11h00
  2. opérations sur listes et dictionnaires
    Par rom44 dans le forum Général Python
    Réponses: 20
    Dernier message: 14/10/2010, 00h49
  3. Mise a jour liste de dictionnaire
    Par Invité(e) dans le forum Général Python
    Réponses: 6
    Dernier message: 19/10/2009, 16h07
  4. Dictionnaire de liste -> liste de dictionnaire
    Par ju_bicycle dans le forum Général Python
    Réponses: 8
    Dernier message: 01/07/2009, 12h43
  5. Listes et dictionnaire
    Par Victoria007 dans le forum Général Python
    Réponses: 3
    Dernier message: 19/05/2008, 22h38

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