Bonjour,

Question purement théorique.
Auriez vous une idée pour utiliser un break sur une condition if dans une list compréhension ?
Un exemple
Soit le liste l
Code : Sélectionner tout - Visualiser dans une fenêtre à part
l = [0, 1, 0, 1, 1, 0, 1, 1, 1, 1]
Et le code suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
for e in l:
    if e == 0:
        l.remove(e)
Qui est traduisible comme ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
[l.remove(e) for e in l if e==0]
(Je note bien la modification de la liste lors de son itération. .remove(item) supprimant le premier élément trouvé pas de problème ici)
Comment traduire (est ce possible ?) ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
for e in l:
    if e == 0:
        l.remove(e)
    if 0 not in l:
        break
(Soit en gros
Code : Sélectionner tout - Visualiser dans une fenêtre à part
while 0 in l: l.remove(0)
mais avec une list compréhension)

Merci

@+