0
我想獲得切片一些np.ndarray
對象foo
:切片索引或結束,如果結束較小那麼指數(蟒蛇)
bar = foo[:end]
但有時最終會比len(foo)
更大。然後我想獲得bar = foo
。我可以達到這個,如果我寫bar = foo[:min(end, len(foo)]
。但它似乎不pythonic。有沒有簡單的方法來做到這一點?
我想獲得切片一些np.ndarray
對象foo
:切片索引或結束,如果結束較小那麼指數(蟒蛇)
bar = foo[:end]
但有時最終會比len(foo)
更大。然後我想獲得bar = foo
。我可以達到這個,如果我寫bar = foo[:min(end, len(foo)]
。但它似乎不pythonic。有沒有簡單的方法來做到這一點?
你其實並不需要任何特殊的邏輯來處理的範圍內切出。默認情況下,如果end
過大,切片將包括數組的結尾。
>>> a = np.array([1,2,3])
>>> a
array([1, 2, 3])
>>> a = a[:10]
>>> a
array([1, 2, 3])
如果'foo'是一個長度小於'end'的Python列表,那麼'foo [:end]'返回'foo'的一個副本。 'np.ndarray'對象不這樣做嗎?他們以這種方式切片時會展現什麼行爲? – TigerhawkT3
我同意@CoryKramer在這裏。它簡短明瞭。 – MrLeeh
是不是默認行爲時'end'是大於長度? – Holloway