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 de syntaxe avec un dictionnaire


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 10
    Par défaut Problème de syntaxe avec un dictionnaire
    Bonjour !

    Je vous explique la situation : j'ai un dictionnaire dans lequel je définis des "plot" comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dproie['proie%s' %(u)], = plot(j,taille-1-i,'o',color='b')
    Mon but est de pouvoir retirer un élément de ce dictionnaire en fonction des coordonnées du plot et non pas à partir de la clé.
    Je ne sais pas si cela est possible !

    Merci d'avance et bon après-midi

  2. #2
    Membre Expert Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Par défaut
    Bonjour

    Un élément d'un dictionnaire (donc un couple (key, value)) se supprime via un Il faut donc faire une première passe pour mémoriser/lister les clés correspondant aux valeurs que tu veux supprimer et, dans un second temps, supprimer les éléments.

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 10
    Par défaut
    Le problème est que les coordonnées varient (voir ici), et donc que je ne peux pas remonter à la clef à partir des coordonnées...

  4. #4
    Membre Expert Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Par défaut
    Citation Envoyé par Carambarbe Voir le message
    Le problème est que les coordonnées varient (voir ici), et donc que je ne peux pas remonter à la clef à partir des coordonnées...
    Il ne s'agit pas de remonter à la clé. Il s'agit de parcourir les couples (key, value), de voir les value que tu veux éliminer et d'utiliser et de stocker key.

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

    Citation Envoyé par Carambarbe Voir le message
    Le problème est que les coordonnées varient (voir ici), et donc que je ne peux pas remonter à la clef à partir des coordonnées...
    Ben vous créez deux dictionnaires:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        for i in range(N) :
            (x,y)=(random.randint(-50,50),random.randint(-50,50))
            xymap[x,y]  = dd['proie%s' %(i)] = mp.plot(x,y,'o',color='b')
            X+=[x]
            Y+=[y]
    Et vous déclarez dd comme weakref.WeakValueDictionary pour que "del xymap[x, y]" détruise aussi l'entrée dans dd.

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

  6. #6
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 10
    Par défaut
    Je ne suis pas sûr d'avoir bien compris...

    J'ai un système proies/prédateurs. À chaque "tour", je fais déplacer les proies, puis les prédateurs, dans une matrice, en parallèle avec un affichage graphique. Lorsqu'un prédateur arrive sur une "case" où une proie se trouve déjà, je voudrais supprimer la proie dans le dictionnaire à partir de ses coordonnées.

    Votre système convient-il à mes attentes ? Mes connaissances sont loin d'être grandioses en dictionnaire... En tout cas merci beaucoup pour votre réactivité !

  7. #7
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 762
    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 762
    Par défaut
    Citation Envoyé par Carambarbe Voir le message
    J'ai un système proies/prédateurs. À chaque "tour", je fais déplacer les proies, puis les prédateurs, dans une matrice, en parallèle avec un affichage graphique. Lorsqu'un prédateur arrive sur une "case" où une proie se trouve déjà, je voudrais supprimer la proie dans le dictionnaire à partir de ses coordonnées.

    Votre système convient-il à mes attentes ?
    Pour autant que je comprenne ce que vous racontez, çà le fait.
    Maintenant, à vous de "tester" sur de petits exemples les opérations (cas d'utilisations on dit) que vous voulez réaliser et vérifier que çà le fait (ou pas).
    note: si les weakref vous semblent un peu trop magiques, vous pouvez gérer à la mimine:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        for i in range(N) :
            (x,y)=(random.randint(-50,50),random.randint(-50,50))
            name = 'proie%s' %(i)
            plot_xy = mp.plot(x,y,'o',color='b')
            xymap[x,y]  = (name, plot_xy)
            dd[name] = plot_xy
            X+=[x]
            Y+=[y]
    Avec une fonction genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    def xymap_delete(x, y):
          name, _ = xymap[x,y]
          del xymap[x,y]
          del dd[name]
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. [Python 2.X] Problème de surcharge avec dictionnaire
    Par MrFlash03 dans le forum Général Python
    Réponses: 6
    Dernier message: 21/09/2015, 17h14
  2. problème de requête avec jointures
    Par tinhat dans le forum Requêtes
    Réponses: 7
    Dernier message: 11/08/2003, 10h33
  3. Problème dans requête avec count()
    Par BadFox dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/07/2003, 18h02
  4. [Kylix] problème compilation kylix3 avec redhat 9.0
    Par madininaoursa dans le forum EDI
    Réponses: 1
    Dernier message: 02/07/2003, 16h21
  5. Problèmes de versions avec Xalan, Xerces et Java
    Par honeyz dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 05/06/2003, 10h18

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