Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to slice (in Python) "all but the last n" items when n may be zero? [duplicate]

Tags:

I have a list of items in Python and I need to get "all but the last N" items. It needs to work when N is zero (in which case I want the whole list) and when N is greater than or equal to the length of the list (in which case I want an empty list). This works in most cases:

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

But it fails in the case where N is zero. mylist[:0] returns an empty list: []. Is there a Python slicing notation that will do what I want, or a simple function?

like image 333
workerjoe Avatar asked Jun 10 '15 19:06

workerjoe


1 Answers

You can pass None to the slice

print(mylist[:-n or None]) 
like image 53
John La Rooy Avatar answered Oct 05 '22 12:10

John La Rooy