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 :

Comment vérifier qu'un élément d'une liste ne soit pas vide ?


Sujet :

Python

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 412
    Points : 79
    Points
    79
    Par défaut Comment vérifier qu'un élément d'une liste ne soit pas vide ?
    Bonjour,

    Je suis sur python 2.7.6.
    J'ai une liste du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ma_liste = ['1', 'nom',  'prenom', 'adresse', 'telephone', '', 'email']
    L'élément 5 est vide .
    Je voudrais savoir comment vérifier qu'un élement est vide ?

    Merci
    Intel I7 960 | 6 Go Ram | 5 HDD au total 3636 Go | Windows 7 Edition intégral x64 | WampServer 2.0c | Apache 2.2.8 | Php 5.2.6 | MySQL 5.0.51b
    DreamPlug | 512 mo ram | SSD 16 GO | Linux debian 2.6.39.4 | armv5tel | Lamp | PHP 5.3.3-7 | Apache 2.2.16 | Mysql 14.14

  2. #2
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    salut,

    dans la situation que tu décris, il suffit de tester if maliste[5] == '' tout simplement.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 412
    Points : 79
    Points
    79
    Par défaut
    Bonsoir,

    Merci de votre réponse.
    ça marche pas il me retourne que tout est plein.
    Mais comme c'est un dictionnaire de listes ?
    j'ai du faire une erreur ?

    [/B]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    for cle, valeur in dictionnaire_de_listes.items():
            for valeur2 in valeur:
    	    if valeur[5] == '':  
    		print "vide."
    		print valeur[6]
    	    else:
    		print "plein."
    		print valeur[6]
    Merci.
    Intel I7 960 | 6 Go Ram | 5 HDD au total 3636 Go | Windows 7 Edition intégral x64 | WampServer 2.0c | Apache 2.2.8 | Php 5.2.6 | MySQL 5.0.51b
    DreamPlug | 512 mo ram | SSD 16 GO | Linux debian 2.6.39.4 | armv5tel | Lamp | PHP 5.3.3-7 | Apache 2.2.16 | Mysql 14.14

  4. #4
    Membre régulier Avatar de fifafou
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Seine Maritime (Haute Normandie)

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

    Informations forums :
    Inscription : Janvier 2016
    Messages : 173
    Points : 92
    Points
    92
    Par défaut
    je ne vois pas l'utilité de ça: for valeur2 in valeur:
    sinon ça marche

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,


    Tout d'abord tu as all qui te permet de vérifier si un ou des éléments sont vides.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Python 3.2.3 (default, Jun 18 2015, 21:46:42) 
    >>> ma_liste = ['1', 'nom',  'prenom', 'adresse', 'telephone', '', 'email']
    >>> if not all(ma_liste):
    ...     print('Au moins un élément vide')
    ... 
    Au moins un élément vide
    Après, tu itères sur la liste si tu veux savoir lequel ou lesquels.


    Edit: tu peux aussi relever les emplacements en une seule ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    >>> empty = [i for i, v in enumerate(ma_liste) if not v]
    >>> print('Index des éléments vides: %s' % empty)
    Index des éléments vides: [5]

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 412
    Points : 79
    Points
    79
    Par défaut
    Bonsoir,

    Y un truc que je pige pas.
    J'obtiens les listes à partir de mon dico, là on est d'accord.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for cle,valeur in dictionnaire_de_listes.items():
    Extrait de mon dico
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ['16', 'non', 'prenom', 'adresse', 'cp', 'Ville', 'email', 'telmob', 'telfix', 'observation']
    ['90', 'non', 'prenom', 'adresse', 'cp', 'Ville', '', 'telmob', 'telfix', 'observation']
    ['30', 'non', 'prenom', 'adresse', 'cp', 'Ville', '', 'telmob', 'telfix', 'observation']
    ['59', 'non', 'prenom', 'adresse', 'cp', 'Ville', '', 'telmob', 'telfix', 'observation']
    ['32', 'non', 'prenom', 'adresse', 'cp', 'Ville', 'telmob', 'telfix', 'observation']
    ['20', 'non', 'prenom', 'adresse', 'cp', 'Ville', 'email', 'telmob', 'telfix', 'observation']
    ['48', 'non', 'prenom', 'adresse', 'cp', 'Ville', '', 'telmob', 'telfix', 'observation']
    ['49', 'non', 'prenom', 'adresse', 'cp', 'Ville', 'email', 'telmob', 'telfix', 'observation']
    ['81', 'non', 'prenom', 'adresse', 'cp', 'Ville', '', 'telmob', 'telfix', 'observation']
    ['68', 'non', 'prenom', 'adresse', 'cp', 'Ville', 'email', 'telmob', 'telfix', 'observation']
    En deux mots, je veux savoir si l'élément 6 est vide ou pas dans chaque listes de mon dico afin de l'ajouter dans une nouvelle liste de contact et savoir combien d'adresse mail son enregistrer.

    Quand je fait ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for cle,valeur in dictionnaire_de_listes.items():
    	if valeur[6] == ''
    	  print('élément vide')
    	else:
    	  print('élément plein')
    j'ai ceci en retour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    laurent@laurent-PC-Bureau:~$ python /home/laurent/travail/python/test.py
      File "/home/laurent/Le-Cercle/python/email-membres-lecercle.py", line 339
        if valeur[6] == ''
                         ^
    SyntaxError: invalid syntax
    Et ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ma_liste = ['1', 'nom', 'prenom', 'adresse', 'cp', 'ville', '', 'telemob', 'telfix', 'observation']
    if not all(ma_liste):
       print('il y a au moin un élément de vide')
    else:
       print('Tout les élément sont plein')
    fonctionne très mais ne vérifie pas uniquement l'élément numéro 6 si il est vide.

    Merci.
    Intel I7 960 | 6 Go Ram | 5 HDD au total 3636 Go | Windows 7 Edition intégral x64 | WampServer 2.0c | Apache 2.2.8 | Php 5.2.6 | MySQL 5.0.51b
    DreamPlug | 512 mo ram | SSD 16 GO | Linux debian 2.6.39.4 | armv5tel | Lamp | PHP 5.3.3-7 | Apache 2.2.16 | Mysql 14.14

  7. #7
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 049
    Points : 1 380
    Points
    1 380
    Par défaut
    Il manque ":"

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 412
    Points : 79
    Points
    79
    Par défaut
    Bonsoir,

    Une gaf pareil c'est pas possible. c'est bon.
    merci.
    Intel I7 960 | 6 Go Ram | 5 HDD au total 3636 Go | Windows 7 Edition intégral x64 | WampServer 2.0c | Apache 2.2.8 | Php 5.2.6 | MySQL 5.0.51b
    DreamPlug | 512 mo ram | SSD 16 GO | Linux debian 2.6.39.4 | armv5tel | Lamp | PHP 5.3.3-7 | Apache 2.2.16 | Mysql 14.14

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 20/05/2012, 18h25
  2. Réponses: 3
    Dernier message: 03/11/2011, 11h04
  3. [AC-2003] Vérifier que le résultat d'une requête (n')est (pas) vide
    Par pedrus16 dans le forum VBA Access
    Réponses: 3
    Dernier message: 25/06/2009, 15h34
  4. Réponses: 3
    Dernier message: 11/12/2008, 14h37
  5. Réponses: 3
    Dernier message: 15/05/2006, 16h09

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