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 :

selection d'une liste selon son nom


Sujet :

Python

  1. #1
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 39
    Par défaut selection d'une liste selon son nom
    Bonjour,

    Voici ma situation:

    j'ai plusieurs listes dont le nom est liste_i_j (2 listes différentes n'iont jamais i et j égaux). A l'intérieur de ces listes j'ai des points que je compare entre eux. Je fais d'abord cette comparaison entre points d'une même liste, seulement des fois je dois comparer un point avec des points d'une autre liste, mais pas n'importe lesquelles. Celles dasn lesquuelles je veux faire ma comparaison, pour un point appartenant à la liste liste_i_j sont:
    liste_i_j-1
    liste_i_j+1
    liste_i-1_j
    liste_i-1_j-1
    liste_i-1_j+1
    liste_i+1_j
    liste_i+1_j-1
    liste_i+1_j+1

    Et c'est donc là qu'est mon problème. Mon idée était de chopper le nom des listes en chaine de caractères pour extraire les i, j, les convertir en entier pour ainsi choisir les bonnes listes dans lesquelles chercher, mais sans succès pour l'instant. En plus c'est peut etre pas terrible.

    Avez vous des idées à me suggérer?

    Merci.

  2. #2
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 47
    Par défaut
    en gros le problème est de mettre des indices sur tes listes et d'y avoir ainsi acces comme on fait sur le papier lorqu'on à défini une famille de listes ?

    C'est une question que je m'était déjà posé en Caml, je vais y réfléchir.
    Rémy

  3. #3
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Pourquoi ne pas faire une matrice de listes ?

  4. #4
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 47
    Par défaut
    Effectivement c'est une bonne idée , mais cela n'implique pas qu'il connaisse le nombre total de listes qu'il aura à traiter?? en tout cas en caml ça poserait problème (mais bon de toute façon le chameau ne tiend pas un round contre le python ^^)

  5. #5
    Membre émérite
    Avatar de GnuVince
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    679
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 679
    Par défaut
    Comme je l'ai dit la dernière fois, utilise un dict. C'est un conteneur avec des clés qui ont une valeur arbitraire. Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    traduction_de = {
      'un': 'one',
      'deux': 'two',
      'trois': 'three',
    }
     
    print traduction_de['un'] # Va afficher 'one'
    L'index -- le string à gauche du deux-points -- est appelé la clé et la portion à droite, la valeur. En Python, on peut utiliser des nombres, des chaînes de caractères, des tuples commes clés (et n'importe quel autre type de données hachable) et absolument n'importe quoi comme valeur. Donc tu pourrais dire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    mes_listes = {
      '%d_%d' % (i, j-1): [...],
      '%d_%d' % (i, j+1): [...],
      '%d_%d' % (i-1, j): [...],
      # etc.
    }
    Ça serait une solution plus simple et plus facile. Elle a aussi l'avantage que c'est très facile à porter à un autre langage.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 25
    Par défaut
    Peut être je comprend pas le problème mais je rejoins assez Miles

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mesListes = [["element 1 liste 1", "element 2 liste 1"], ["element 1 liste 2"]]
    Pour récuperer la liste 1 :
    et la 2 :

    Ou bien utiliser les dictionaires :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mesListes = { 'liste1':["element1", "element2"], 'liste2':["element1", "element2", "element3"]}
    Ensuite je récupère les listes avec leurs noms :
    retourne : ['element1', 'element2']

    non ?

  7. #7
    Membre chevronné
    Homme Profil pro
    Responsable du parc et des réseaux de télécommunication
    Inscrit en
    Mai 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable du parc et des réseaux de télécommunication
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2003
    Messages : 290
    Par défaut
    Bonjour,
    Je pense qu'un dictionnaire serait en effet le plus simple.
    Sinon, on peut faire comme ça ... :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    class maclasse:
        def __init__(self):
            self.l1=['a','b','c']        
    if __name__=='__main__':
        a=maclasse()
        print getattr(a,'l1')[1]

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

Discussions similaires

  1. déplacer une image dans un dossier selon son nom
    Par arckaniann dans le forum Langage
    Réponses: 2
    Dernier message: 18/12/2011, 19h12
  2. Réponses: 17
    Dernier message: 15/08/2010, 05h22
  3. Lier une image selon son nom dans un tableau
    Par Kara dans le forum Word
    Réponses: 17
    Dernier message: 05/12/2008, 12h04
  4. interdire une selection dans une liste selon valeur
    Par polianita dans le forum Access
    Réponses: 3
    Dernier message: 08/09/2006, 17h19
  5. [débutant] [XPATH]selection d un node selon son nom & nom d un
    Par Triangle dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 14/06/2005, 16h47

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