簡體   English   中英

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

[英]python slicing [:-N] [:-N+1]

我一直在嘗試編寫以下行的代碼,但我得到的消息是操作數無法與形狀 (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 的新手,所以任何提示都將不勝感激。

除最后兩個之外的切片: x[:N-2]第一個和最后一個除外: x[1:N-1]前兩個除外: x[2:]

Python slice 可以通過: x[starting_index:end_index] {包括starting_index元素,不包括end_index}

如果不指定starting_index ,默認為0。 如果不指定end_index ,則默認為 N 。

考慮到列表長度可能會有所不同,python 有很好的方法來訪問列表的項目。 給定一個alist=['a','b','something',1,2]

如果你使用alist[1:] ,你會得到['b', 'something', 1, 2]

如果你使用alist[:1] ,你會得到['a','b','something',1]

如果你只使用alist[1] ,你只會得到a ,這是列表的第一項。

所以,如果你使用alist[-1:] ,你會得到2 ,這是從右邊開始的第一項。

如果你使用alist[:-1] ,你會得到['a','b','something',1] ,這是從右邊開始的項目,除了拳頭。

總之, [:]中的的東西就是你使用切片后得到的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM