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 :

transformer une liste chronologique


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2013
    Messages : 2
    Par défaut transformer une liste chronologique
    Bonjour,
    je suis totalement novice en python et je suis confronté au probleme suivant:
    j'ai une liste de valeurs récupérées toutes les 15 secondes du type
    a=(1,2,3,0,0,0,2,1,7,0,0,0,0,2)
    j'aimerais la tranformer en
    (1,15)
    (2,15)
    (3,15)
    (0,45)
    (2,15)
    (1,15)
    (7,15)
    (0,60)
    (2,15)

    où le premier élément contient la valeur et le deuxieme le temps en secondes.
    Ce fichier étant volumineux j'aimerais sommer les temps des valeurs egales à 0 tout en conservant la chronologie des valeurs.
    Auriez vous une idée du comment je dois m'y prendre?
    Un grand merci pour votre aide.

  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,

    Si tu dois le faire après que toutes les valeurs aient été extraites, je pense que ceci répond:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    a = (1,2,3,0,0,0,2,1,7,0,0,0,0,2)
    res = []
    res.append((a[0], 15))
    t = 0
    for idx, i in enumerate(a[1:]):
        t += 15
        if i == 0 and a[idx] == 0:
            res[-1] = (0, res[-1][1] + 15)
            continue
     
        res.append((i, 15))
        t = 0
     
    print res
    Si tu dois le faire pendant l'extraction des valeurs, faudra voir le code.

  3. #3
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Autre code (un peu rustique) qui a l'air de faire le boulot:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    a=(1,2,3,0,0,0,2,1,7,0,0,0,0,2)
     
    r = []
    zero = False # drapeau pour indiquer les séquences de zéros
    for k in a:
        if k==0:
            if zero:
                # ce n'est pas le 1er zero: on ajoute 15 à la sous-liste précédente
                r[-1][1] += 15
            else:
                # c'est le 1er zero
                r.append([k, 15]) # on l'enregistre avec 15
                zero = True # = on démarre une séquence éventuelle de zeros
        else:
            zero = False
            r.append([k, 15])
     
    for elem in r:
        print elem
     
    [1, 15]
    [2, 15]
    [3, 15]
    [0, 45]
    [2, 15]
    [1, 15]
    [7, 15]
    [0, 60]
    [2, 15]

  4. #4
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2013
    Messages : 2
    Par défaut
    salut,
    oui toutes les valeurs sont extraites , je te remercie pour ton aide.
    Bonne journée!

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

Discussions similaires

  1. Transformer une liste en arbre
    Par alana dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 25/06/2009, 14h34
  2. [débutant] transformer une List en array
    Par pingoui dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 28/01/2009, 10h48
  3. Transformer une liste de caractères en nombre
    Par divpload dans le forum Général Python
    Réponses: 2
    Dernier message: 18/05/2008, 19h31
  4. Transformer une liste en tableau
    Par basket dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 07/09/2006, 16h01
  5. Transformer une liste en chaîne de caractères
    Par nounjours dans le forum Prolog
    Réponses: 1
    Dernier message: 23/02/2006, 15h41

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