当 n 可能为零时如何切片(在 Python 中)"all but the last n" 项?

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

我在 Python 中有一个项目列表,我需要获取 "all but the last N" 个项目。它需要在 N 为零(在这种情况下我想要整个列表)和当 N 大于或等于列表的长度(在这种情况下我想要一个空列表)时工作。 这在大多数情况下都有效:

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

但在N为零的情况下失败。 mylist[:0] returns 一个空列表:[]。是否有 Python 切片符号可以满足我的要求,或者是一个简单的函数?

您可以将 None 传递给切片

print(mylist[:-n or None])