我想获取某个np.ndarray对象的切片foo:
bar = foo[:end]
Run Code Online (Sandbox Code Playgroud)
但有时 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])
Run Code Online (Sandbox Code Playgroud)