python 切片 [:-N] [:-N+1]

问题描述 投票:0回答:2

我一直在尝试编写以下行代码,但收到消息称操作数无法与形状 (0,) (30,) 一起广播 x 的长度为 32

  • x[:-N+1]
    我想访问除最后两个之外的所有元素
  • x[N:-N]
    我想访问除第一个和最后一个之外的所有元素
  • x[N+1:]
    我想访问除第一个之外的所有元素
y = x[:-N+1] - 2 * x[N:-N] + x[N+1:]

我应该如何索引 x 来访问这些值?我是 python 新手,所以任何提示将不胜感激。

python indexing time-series slice numpy-slicing
2个回答
0
投票

除最后两个之外的切片:

x[:N-2]
除了第一个和最后一个:
x[1:N-1]
除了前两个:
x[2:]

Python切片可以通过以下方式获得:

x[starting_index:end_index]
{包括starting_index元素,不包括end_index}

如果不指定

starting_index
,则默认为0。 如果不指定
end_index
,则默认为N。


0
投票

考虑到列表长度可能会有所不同,Python 有很好的方法来访问列表中的项目。 给予 alist=['a','b','something',1,2]


  • alist[1:]

    ,你会得到一个列表
    ['b', 'something', 1, 2]
    
    

  • alist[:1]

    ,你会得到一个列表
    ['a']
    
    

  • alist[1]

    ,你只会得到一个元素
    a
    ,它是列表的第一项。

  • alist[-1:]

    ,你会得到一个列表 
    [2]
     ,从最后一个元素到列表末尾的切片。

  • alist[:-1]

    ,你会得到 
    ['a','b','something',1]
     ,这是从右边开始的项目,除了列表末尾。

  • alist[:]

    ,你实际上是在
    应对它自己alist

© www.soinside.com 2019 - 2024. All rights reserved.