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 :

itération dans plusieurs listes


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Inscrit en
    Février 2007
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 202
    Billets dans le blog
    1
    Par défaut itération dans plusieurs listes
    Bonjour,

    j'ai 4 listes de ce type :
    liste 1:

    000000060000006f0000007000000071000000720000007300
    0000740000000700000008000000090000000a0000000b0000

    liste 2:
    000000390000003a0000003b0000003c0000003d000000a60000
    00a7000000a8000000a9000000aa000000ab0000003e000000

    etc..

    qui sont différentes et que je veux concaténer dans un fichier de la sorte :
    liste1 liste2
    | |
    V V
    00000006 00000039 etc.. etc...
    0000006f 0000003a
    00000071 0000003b

    ce qui revient à faire tous les 8 digits de chaque liste.

    merci d'avance.

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Par défaut
    Et avec les notations Python, ça donne quoi ?

    Si à partir de ["00000006", "0000006f", ...] et ["00000039", "0000003a", ...] tu veux obtenir [("00000006", "00000039"), ("0000006f", "0000003a"), ...] il y a la fonction zip() qui le fait.

  3. #3
    Membre émérite
    Homme Profil pro
    heu...
    Inscrit en
    Octobre 2007
    Messages
    648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : heu...

    Informations forums :
    Inscription : Octobre 2007
    Messages : 648
    Par défaut
    Salut, si j'ai bien compris, chacun des "liste" que tu as n'est en fait qu'une chaîne de caractère, et tu voudrais crée de véritables liste pour chacune d'elles...

    Donc si c'est bien ça, tu peux exploiter tes chaines comme des listes pour en créer de vraies :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    strLst='000000060000006f00000070000000710000007200000073'
    Lst=[]
    while len(strLst) > 0: #Tant que la longuer de strLst sera > 0
       Lst.append(strLst[:8]) #ajoute à Lst un element constitué des 8 premiers caractère de strLst
       strLst=strLst[8:] #puis retire les 8 premiers caractères de strLst
    #Ce qui, arrivé à ce stade, nous donne
    #Lst=['00000006','0000006f','0000007','000000071','00000072','00000073']

  4. #4
    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
    Si les listes en entrée ressemblent à ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    >>> l1 = ['000000060000006f0000007000000071000000720000007300',
    ...       '0000740000000700000008000000090000000a0000000b0000']
    Voici une autre façon de les découper:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    >>> l1 = ''.join(l1)
    >>> l1 = [''.join(x) for x in zip(*[l1[i::8] for i in range(8)])]
    >>> l1
    ['00000006', '0000006f', '00000070', '00000071', '00000072', '00000073', '00000074', '00000007', '00000008', '00000009', '0000000a', '0000000b']
    Il suffit de faire de même avec les autres listes et ensuite d'employer zip.

  5. #5
    Membre confirmé

    Inscrit en
    Février 2007
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 202
    Billets dans le blog
    1
    Par défaut
    merci dividee c'est tout à fait ça
    et merci à tous de vos réponses ça me fait bien avancer

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

Discussions similaires

  1. [AC-2003] Faire la somme des valeurs contenus dans plusieurs listes déroulantes
    Par kavuza dans le forum VBA Access
    Réponses: 3
    Dernier message: 08/08/2012, 10h21
  2. Suppression option dans plusieurs listes
    Par benf35 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/02/2012, 08h44
  3. Besoin d'un objet dans plusieurs listes
    Par Benoiki dans le forum Hibernate
    Réponses: 4
    Dernier message: 07/11/2011, 14h43
  4. Réponses: 0
    Dernier message: 09/05/2011, 11h38
  5. Itération dans une liste
    Par whorian dans le forum VB.NET
    Réponses: 5
    Dernier message: 01/04/2009, 16h04

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