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 :

List compréhension


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 30
    Par défaut List compréhension
    Bonjour ,

    Petit problème de liste ...
    J'ai importer un tableau excel (.csv) dans mon programme python
    Sauf que lorsque j'ai importé mon tableau j'ai une liste de sous liste comme ci dessous:

    Je ne comprend pas comment faire pour avoir trois listes indépendantes ..
    C'est a dire listH=[0.7,07,07,0.8 etc] listD=[295,289,290 etc] listP=[....]

    [['H', 'D', 'P'],
    ['0.7', '295', '8.2'],
    ['0.7', '289', '8.5'],
    ['0.7', '290', '8.0'],
    ['0.8', '283', '8.7'],
    ['0.7', '283', '8.0'],


    J'ai essayer de faire une liste avec un listH=[i for i+4 in Tableau ]

    Merci d'avance !

    Bonne journée,

  2. #2
    Membre Expert
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 617
    Par défaut
    Si tu as juste 3 colonnes, tu peux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Liste_H = [Tableau[i][0] for i in range(len(Tableau))]
    Liste_H_val=Liste_H[1:]
    pour la première par exemple.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 30
    Par défaut List compréhension Python3
    Merci pour la rapide réponse !

    En fait ce n'est pas un tableau que j'ai , c'est une liste il n'y a donc pas de colonne ( même si je l'ai nommé comme ca ^^ )
    Voici la liste en screen:

    Nom : Screen.png
Affichages : 321
Taille : 11,6 Ko

    Tableau=[['H', 'D', 'P'],['0.7', '295', '8.2'],['0.7', '289', '8.5'],['0.7', '290', '8.0'], ['0.8', '283', '8.7'],etc ]


    La listeH représente les premiéres valeurs des sous listes , et D la deuxiéme ...

  4. #4
    Membre confirmé Avatar de racine carrée
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2018
    Messages : 156
    Par défaut
    Si tableau est de la forme que tu as donnée, le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    a=[[i[k]  for i in tableau] for k in range(len(tableau[0]))]
    renvoie une liste composée de chaque colonne du fichier.
    Ensuite, il suffit de faire a[k-1] pour accéder à la k-ième colonne du fichier.
    Attention, cette méthode suppose que chaque ligne contienne le même nombre d'élément que la première ligne (ou plus que dans de la première ligne à la rigueur, mais s'il y a k éléments dans la première ligne, seules les k premières colonnes du fichier seront renvoyées).
    Bon courage

  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,
    Pour "transposer" un tableau vous avez zip:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >>> T = [[ 'A', 'B'], [1, 2], [3,4]]
    >>> list(zip(*T))
    [('A', 1, 3), ('B', 2, 4)]
    mais vous préférerez certainement utiliser numpy.

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

  6. #6
    Membre Expert
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 617
    Par défaut
    Ma réponse ne convient pas ?

Discussions similaires

  1. [Generic List] Petit problème de compréhension
    Par Amuny dans le forum VB.NET
    Réponses: 9
    Dernier message: 27/08/2012, 08h32
  2. Réponses: 3
    Dernier message: 02/02/2012, 15h55
  3. Liste dynamique compréhension
    Par speedy_g dans le forum Excel
    Réponses: 3
    Dernier message: 01/12/2011, 10h35
  4. compréhension de liste paire par paire
    Par sopsag dans le forum Général Python
    Réponses: 13
    Dernier message: 07/12/2010, 21h36
  5. Syntaxe élégante pour une fusion de compréhension de liste
    Par sopsag dans le forum Général Python
    Réponses: 8
    Dernier message: 23/08/2010, 12h22

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