Pour commencer le R=[] ne sert à rien.
i = len(p)-1 ben ça sert uniquement à trouver le dernier indice de l'itérable
while P[i]==0: tant que la valeur sélectionné de l'itérable vaut 0 ...
i-=1 soustraire l'indice de 1, donc on part du dernier élément de l'itérable et on revient vers le début tant que c'est un 0
...
Bref je te laisse déduire le reste ! Pour le try except ici il ne sert à rien probablement... Sinon ça permet de capturer une exception : https://docs.python.org/fr/3.5/tutorial/errors.html
Je propose une alternative carrément moins performante mais je trouve ça beau, une ligne et paf :
>>> list(int(y) for y in str(P)[1:-1].rstrip(', 0').split(", "))
PS pour les pros : C'est amusant spliter avec ", " semble plus performant qu'avec ",", j'imagine que ça fait moins de boulot pour int(y) ?
Partager