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 :

Tri et stockage de données


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 88
    Par défaut Tri et stockage de données
    Bonjour !

    J'ai un tableau ou une liste ( je ss nouvelle sur Python) Block qui possède trois variables : etiquette_initiale, etiquette_finale, et procedure :

    blk[0] blk[1] blk[2]
    11 1 3
    11 2 5
    7 3 2
    9 4 4
    le tableau est ordonné selon les tiquette_finale.

    je cherche à savoir s'il y'a des étiquettes_initiales qui possèdent la meme valeur, et ensuite après ce test à stocker leur etiquette_finale et leur procedure.

    Est ce que vous auriez une idée de comment faire?

    Merci d'avance

    Manal

  2. #2
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 77
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Par défaut
    je cherche à savoir s'il y'a des étiquettes_initiales qui possèdent la meme valeur, et ensuite après ce test à stocker leur etiquette_finale et leur procedure.
    Tout cela ne me parait pas très clair. Tout d'abord, a priori qu'est-ce qui permet d'affirmer que des enregistrements ayant même étiquette initiale auront même étiquette finale. C'est ce que suggère l'emploi du singulier 'stocker leur etiquette_finale' ensuite quelle est cette procédure à stocker ???
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 88
    Par défaut
    Rebonjour !

    Je vais mieux expliquer mon problème :

    Tout d'abord j'ai une Liste_block qui contient des block, ou block[0]= étiquette_initiale, block[1]= étiquette_finale, et block[3]=procédure.

    Certaines étiquette_initiales peuvent avoir la même valeur, ce sont des entiers, mais l'étiquette_finale est unique, et la procédure est juste une valeur entière ajoutée au block.

    Quand je dis stocker c'est à dire garder ma variable, par exemple si j'ai trois étiquettes_initiales qui ont la même valeur, j'aimerai connaitre leur étiquette_finale ainsi que leur procédure.

    Voilà j'espère que c'est plus clair maintenant!

    je vois mon programme de la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    a=[]
    b=[]
    c=[]
    d=[]
     
    for block in Liste_Block[0]
                  for i in range(1, n_var)
                      a = block[0].count(i)
                      if ( a > 1 )   # une des valeurs est repetée
                      j = i
                      b.append(a)
                      c.append(j)
    return(b,c)
    ensuite , il me faut un programme qui revient dans ma Liste_Block , consulte ma liste de variables repetés et stocke les informations secondaires ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    for k in c  # c'est la liste ou se trouve les variable repetées
        for block in Liste_Block[0]
                     if ( k == block[0])      
                     d.append([block[0],block[1],block[2])
                     else
                     print " il n y a rien a signaler"
    je suis désolée pour les erreurs de syntaxe, je débute en python !!

    que pensez vous de ce programme?
    Manal

  4. #4
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 77
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Par défaut
    Cela peut peut-être faire l'affaire:
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    L_B=[[3,1,5,2],[4,2,7,3],[4,3,8,1],[2,4,0,2]] #liste des blocs
    B0=[b[0] for b in L_B] #liste des premiers éléments des blocs
    B0MC=list(set([ x for x in B0 if B0.count(x) >1])) #liste des premiers éléments à occurences multiples (sans doublons)
    def X1(a): #les index de la valeur a
        return [b[1] for b in L_B if b[0]==a]
    def X3(a): #les procédures de la valeur a
        return [b[3] for b in L_B if b[0]==a]    
    L=[[a,X1(a),X3(a)] for a in B0MC] #ce qu'on cherche toute valeur multiple est suivi de la liste de ses indices et de ses procédures          
    print L
    #donne [[4, [2, 3], [3, 1]]]
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 88
    Par défaut
    Merci beaucoup pour ta solution !!

    Au début j'avais pas trop compris parce que je commence à apprendre le python lol
    mais là je viens de me rendre compte qu'elle est courte et bien précise alors merci !!!

    Manal

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

Discussions similaires

  1. [Sql] Stockage de données compressées
    Par choubiroute dans le forum Oracle
    Réponses: 5
    Dernier message: 08/03/2006, 15h46
  2. Dilemme : stockage de données en mémoire
    Par The Dark Lewis dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/09/2005, 12h28
  3. Stockage de données
    Par moa378 dans le forum OpenGL
    Réponses: 16
    Dernier message: 26/05/2005, 14h34
  4. Stockage de données cartographiques en BDD
    Par Mack.51 dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 16/06/2004, 12h48
  5. Stockage de données & lecture d'un fichier texte
    Par petitours dans le forum C++Builder
    Réponses: 6
    Dernier message: 13/03/2004, 14h05

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