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 :

suppression d'elements dans 1 liste [Fait]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 56
    Par défaut suppression d'elements dans 1 liste
    Bonsoir;
    J'ai la liste suivante:
    h=['2', ' ', '7', '36', ' ', '2', '6', ' ', '1']
    je desire supprimer tous les (' ' )de la liste pour ce faire j'ai ecrit la fonction suivante:
    for i in h:
    if i==' ':
    del i
    mais ca ne marche pas.
    J'ai essayé alors :
    for i in range(len(h)):
    if h[i)==' ':
    del h[i]
    ca ne marche pas non plus et je ne vois pas ou est le pb
    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Par défaut
    un petit tour dans la FAQ
    http://python.developpez.com/faq/?page=Liste#listDelete

    Et n'oublie pas d'utiliser les balises [Code] (le # de la barre d'outils)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 56
    Par défaut
    Bonsoir Guigui et merci pour la reponse.
    En fait je ne suis que debutant en python et je ne connais pas les fonctions comme remove ,except,pass... et dans mon programme il faut que je les cree moi-meme.
    je ne sais pas si tu peux me corriger le code pour que ca puisse marcher.
    Merci

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    l = ['2', ' ', '7', '36', ' ', '2', '6', ' ', '1']
    try:
        while True: l.remove(' ')
    except: pass
    print l
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >>> 
    ['2', '7', '36', '2', '6', '1']
    >>>
    (c'est l'exemple de la FAQ adapté à ton source)
    fonctionne très bien

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 56
    Par défaut
    Non je parlais des 2 fonctions que j'ai ecrites.
    Je ne veux (ou plutot peux) pas utiliser remove,...

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 56
    Par défaut
    Merci Guigui;
    Je viens d'essayer une autre chose qui marche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    b=[]
             for i in range(len(h)):
                    if h[i]!='':
                                b=b+[h[i]]
    Merci beaucoup et a+

  7. #7
    Expert confirmé
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Par défaut
    Par contre, jamais on ne supprime des éléments d'une liste à partir de l'index dans une boucle for à moins de la parcourir en arrière (et encore)
    (car supprimer un élément décale tous les index dans ta liste => source de plantage dans le prog).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    h=['2', ' ', '7', '36', ' ', '2', '6', ' ', '1']
    for i in range(len(h)-1,-1, -1):
        if h[i]==' ':  del(h[i])
    print h
    La meilleur méthode reste quand même d'utiliser la fonction remove.

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

Discussions similaires

  1. [langage] Supprimer un élément dans une liste
    Par myjuna dans le forum Langage
    Réponses: 15
    Dernier message: 06/08/2014, 11h49
  2. Suppression d'un element dans une liste
    Par yannoo95170 dans le forum Langage
    Réponses: 10
    Dernier message: 25/11/2012, 19h27
  3. occurences d'un element dans une liste (algorithme)
    Par kespy13 dans le forum Algorithmes et structures de données
    Réponses: 25
    Dernier message: 16/02/2006, 00h18
  4. Recherche Element dans une liste
    Par hellodelu dans le forum ASP
    Réponses: 7
    Dernier message: 19/08/2005, 10h56
  5. [Lisp] Suppression des parenthèses dans une liste
    Par bourdaillet dans le forum Lisp
    Réponses: 3
    Dernier message: 19/12/2004, 21h02

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