web-dev-qa-db-fra.com

Comment découper (en Python) "tous sauf les n derniers" éléments quand n peut être nul?

J'ai une liste d'éléments dans Python et j'ai besoin d'obtenir "tous sauf les N derniers éléments". Cela doit fonctionner lorsque N est zéro (auquel cas je veux la liste complète) et lorsque N est supérieur ou égal à la longueur de la liste (auquel cas je veux une liste vide). Cela fonctionne dans la plupart des cas:

mylist=[0,1,2,3,4,5,6,7,8,9]
print( mylist[:-n] )

Mais il échoue dans le cas où N est nul. mylist[:0] renvoie une liste vide: []. Existe-t-il une notation de découpage Python qui fera ce que je veux, ou une fonction simple?

18
workerjoe

Vous pouvez passer None à la tranche

print(mylist[:-n or None])
30
John La Rooy