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 :

Retirer le \n en fin de caractère dans une liste


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 107
    Par défaut Retirer le \n en fin de caractère dans une liste
    Hello !

    Après avoir extraire une série de chiffre dans un fichier texte via la commande with open, je me retrouve avec la liste suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ['13.5\n', '17\n', '9.5\n', '12\n', '14\n', '6\n', '5.5\n', '8.5\n', '10.5\n', '29\n', '14\n', '9\n', '15.5\n', '11.5\n', '16\n', '18\n', '13\n', '12.5\n', '15.5\n']
    Info : j'utilise python 3

    Là je bloque car j'aimerai retirer tout les \n. J'aimerai ensuite pouvoir passer les éléments de cette liste en float.

    Si quelqu'un a une idée merci beaucoup !

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Tu peux faire ceci pour supprimer les retours à la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    x = [xx.strip() for xx in x]
    Mais ce n'est pas vraiment nécessaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    x = ['13.5\n', '17\n', '9.5\n', '12\n', '14\n', '6\n', '5.5\n', '8.5\n', '10.5\n', '29\n', '14\n', '9\n', '15.5\n', '11.5\n', '16\n', '18\n', '13\n', '12.5\n', '15.5\n']
     
    xf = [float(xx) for xx in x]
    Tu pourrais aussi nous montrer le code de lecture des données pour voir comment ne pas stocker le retour à la ligne (même si le code ci-dessus fonctionne)

  3. #3
    Membre actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 107
    Par défaut
    Bonjour,

    Je ne comprends pas le code si ma liste s’appelle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    notes = ['13.5\n', '17\n', '9.5\n', '12\n', '14\n', '6\n', '5.5\n', '8.5\n', '10.5\n', '29\n', '14\n', '9\n', '15.5\n', '11.5\n', '16\n', '18\n', '13\n', '12.5\n', '15.5\n', '17\n']
    Je ne vois pas à quoi correspond les xx.

    Je devrais écrire : notef = [float(xx) for xx in notes] ?

  4. #4
    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
    Tout à fait.
    Et voir un tuto sur les listes en compréhension.

  5. #5
    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
    Tu peux aussi tester les lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    l1 = ['13.5\n', '17\n', '9.5\n', '12\n', '14\n', '6\n', '5.5\n', '8.5\n', '10.5\n', '29\n', '14\n', '9\n', '15.5\n', '11.5\n', '16\n', '18\n', '13\n', '12.5\n', '15.5\n']
    l2=[el.strip() for el in l1]
    print(l2)
    l3=[float(el) for el in l1]
    print(l3)
    l4=[el.replace("\n","") for el in l1]
    print(l4)

  6. #6
    Membre actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 107
    Par défaut
    Merci beaucoup,

    J'aimerai aussi savoir comment faire pour mettre cette liste de float avec deux décimales. Je sais qu'avec un float, je peux utiliser un "{:.2f}".format(xx), mais je ne vois pas comment l'appliquer à toute une liste

Discussions similaires

  1. Afficher un caractère dans une Liste
    Par midotoon dans le forum C#
    Réponses: 0
    Dernier message: 04/11/2008, 11h43
  2. Réponses: 3
    Dernier message: 13/05/2008, 13h11
  3. Chercher une chaîne de caractères dans une liste
    Par baedal dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 28/05/2007, 23h42
  4. Réponses: 4
    Dernier message: 22/05/2006, 11h53
  5. Saisie de plusieurs caractère dans une liste déroulante
    Par Oluha dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 07/03/2005, 14h32

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