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 :

Problème de remove dans une liste


Sujet :

Python

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 95
    Points : 51
    Points
    51
    Par défaut Problème de remove dans une liste
    Bonjour,

    Je me permets de vous contacter car j'ai un petit souci de suppression dans ma liste, je vous explique :
    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
    30
    31
     
    list_channel =[channel['label'] for channel in client.channel.listRedHatChannels(key)]
     
         list_erratum = []
         for channel in list_channel:
             list_erratum.extend(
                     [
                         erratum['id'],
                         erratum['advisory_synopsis'],
                         erratum['advisory_name'],
                         erratum['update_date']
                         ] for erratum in client.channel.software.listErrata(key, channel, date_6month.isoformat(), date_today.isoformat())
                         if 'Critical' in erratum['advisory_synopsis'])
     
         list_erratum_rhel = []
         for item in list_erratum:
             if item not in list_erratum_rhel:
                 list_erratum_rhel.append(item)
     
     
         for errata in list_erratum_rhel:
             packages = [(x['id'], x['name']) for x in client.errata.listPackages(key, errata[2])]
             errata.append(packages)
     
             systemsAffected = [(x['name']) for x in client.errata.listAffectedSystems(key, errata[2])]
             errata.append(systemsAffected)
     
    # Mon problème ce situe ici lors de la suppression: 
             if len(errata[5]) == 0:
                 list_erratum_rhel.remove(errata)
                 pprint(errata[5])
    Pour mieux comprendre, en sorte j'ai ceci: 0,1,2,3 index : RHSA, : 4ieme index: package id et name, 5ieme index: systems
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
    [36749,
     'Critical: firefox security update',
     'RHSA-2015:0988',
     '2015-05-12 06:00:00',
     [(144073, 'firefox'),
      (144074, 'firefox'),
      (144121, 'firefox'),
      (144258, 'firefox'),
      (144271, 'firefox'),
      (144322, 'firefox')],
     ['pays-bas',
      'france',
      'belgique',
      'allemagne',
      'portugal']]
    [35777,
     'Critical: firefox security update',
     'RHSA-2015:0718',
     '2015-03-24 05:00:00',
     [(140265, 'firefox'),
      (140266, 'firefox'),
      (140275, 'firefox'),
      (140301, 'firefox'),
      (140408, 'firefox'),
      (140422, 'firefox')],
     ['bergame',
      'rome',
      'milan',
      'turin']]
    [37940,
     'Critical: flash-plugin security update',
     'RHSA-2015:1235',
     '2015-07-16 06:00:00',
     [(152390, 'flash-plugin'), (152439, 'flash-plugin')],
     []]
    [37263,
     'Critical: flash-plugin security update',
     'RHSA-2015:1214',
     '2015-07-08 06:00:00',
     [(151576, 'flash-plugin'), (151689, 'flash-plugin')],
     []]
    [37103,
     'Critical: flash-plugin security update',
     'RHSA-2015:1184',
     '2015-06-24 06:00:00',
     [(148743, 'flash-plugin'), (149142, 'flash-plugin')],
     ['hongrie']]
    [37051,
     'Critical: flash-plugin security update',
     'RHSA-2015:1086',
     '2015-06-10 06:00:00',
     [(148456, 'flash-plugin'), (148552, 'flash-plugin')],
     ['france']]
    [36096,
     'Critical: flash-plugin security update',
     'RHSA-2015:0813',
     '2015-04-15 06:00:00',
     [(141103, 'flash-plugin'), (141182, 'flash-plugin')],
     ['frep-y8021x']]
    [36095,
     'Critical: chromium-browser security update',
     'RHSA-2015:0778',
     '2015-04-06 06:00:00',
     [(141080, 'chromium-browser')],
     []]
    Au final j'aimerais avoir ceci:
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    [36749,
     'Critical: firefox security update',
     'RHSA-2015:0988',
     '2015-05-12 06:00:00',
     [(144073, 'firefox'),
      (144074, 'firefox'),
      (144121, 'firefox'),
      (144258, 'firefox'),
      (144271, 'firefox'),
      (144322, 'firefox')],
     ['pays-bas',
      'france',
      'belgique',
      'allemagne',
      'portugal']]
    [35777,
     'Critical: firefox security update',
     'RHSA-2015:0718',
     '2015-03-24 05:00:00',
     [(140265, 'firefox'),
      (140266, 'firefox'),
      (140275, 'firefox'),
      (140301, 'firefox'),
      (140408, 'firefox'),
      (140422, 'firefox')],
     ['bergame',
      'rome',
      'milan',
      'turin']]
    [37103,
     'Critical: flash-plugin security update',
     'RHSA-2015:1184',
     '2015-06-24 06:00:00',
     [(148743, 'flash-plugin'), (149142, 'flash-plugin')],
     ['hongrie']]
    [37051,
     'Critical: flash-plugin security update',
     'RHSA-2015:1086',
     '2015-06-10 06:00:00',
     [(148456, 'flash-plugin'), (148552, 'flash-plugin')],
     ['france']]
    [36096,
     'Critical: flash-plugin security update',
     'RHSA-2015:0813',
     '2015-04-15 06:00:00',
     [(141103, 'flash-plugin'), (141182, 'flash-plugin')],
     ['frep-y8021x']]
    Vous avez compris j'essaie de retirer toutes les liste ayant comme 5ieme index "vide" que je fais normalement grâce à mon "remove" sauf qu'il supprime pas tous, du moins les derniers de mon résultat.

    Est ce possible?

  2. #2
    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,

    Le seul problème que je voie est que tu modifies la liste pendant que tu itères dessus.

    On ne peut point faire cela. Parfois ça passe parfois pas.

    Rempli d'abord ta liste ensuite nettoie la mais sans itérer dessus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
         for idx in range(len(list_erratum_rhel)-1, 0, -1):
             if list_erratum_rhel[idx][5]) == 0:
                 list_erratum_rhel.pop(idx)

Discussions similaires

  1. Problème de format dans une liste SharePoint
    Par tipierre76 dans le forum SharePoint
    Réponses: 1
    Dernier message: 05/06/2008, 20h21
  2. Réponses: 7
    Dernier message: 22/06/2007, 10h56
  3. [MySQL] problème d'affichage dans une liste
    Par bromlecornu dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 23/05/2007, 16h08
  4. [FLASH 8] Problème de sélection dans une liste
    Par jpboogie dans le forum Flash
    Réponses: 3
    Dernier message: 29/09/2006, 14h12
  5. [CSS] Problème d'espaces dans une liste
    Par sylsau dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 03/08/2006, 13h46

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