【问题标题】:How to slice (in Python) "all but the last n" items when n may be zero? [duplicate]当 n 可能为零时,如何切片(在 Python 中)“除最后 n 之外的所有”项目? [复制]
【发布时间】:2015-08-26 05:53:42
【问题描述】:

我有一个 Python 项目列表,我需要获取“除了最后 N 个”项目之外的所有项目。当 N 为零(在这种情况下我想要整个列表)以及当 N 大于或等于列表的长度时(在这种情况下我想要一个空列表),它需要工作。 这在大多数情况下都有效:

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

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

【问题讨论】:

  • 您可以反转列表并简单地应用正切片符号。
  • 如果列表是 [1,2,3,4,5] 并且 n 是 6 怎么办?
  • 打印 mylist[:-n] if n>0 else mylist[:]

标签: python slice


【解决方案1】:

您可以将None 传递给切片

print(mylist[:-n or None])

【讨论】:

    猜你喜欢
    • 2019-07-13
    • 2021-09-14
    • 1970-01-01
    • 2017-02-12
    • 2021-02-17
    • 1970-01-01
    • 2019-07-05
    • 1970-01-01
    • 2023-03-03
    相关资源
    最近更新 更多