【发布时间】:2017-08-29 07:19:36
【问题描述】:
我有一个numpy 数组arr = np.arange(20).reshape(2,10)。我想定义一个切片sli = slice(start,stop, step),然后访问arr[0,sli]。如何定义 sli 使得 arr[0,sli] 是整个数组? IE。 sli=:
我已经试过了:
sli = slice(0,-1) # equivalent to arr[0,:-1]
sli = slice(0,0) # equivalent to []
sli = slice(0) # equivalent to []
sli = slice(0,10) # works fine, but i might not know the shape of arr
# at the time I define sli
【问题讨论】:
-
你试过
slice(None)吗? -
@JonClements 这行得通,谢谢。但是,您是否有理由将其作为评论而不是答案?
-
@cᴏʟᴅsᴘᴇᴇᴅ 我知道很多方法如何访问整个数组,但我想要一种允许使用变量访问整个数组的方法,我的程序依赖于预定义的变量 ant 然后调用
arr[0,sli] -
@JürgMerlinSpaak 没有足够的咖啡,在移动设备上并且不是 100% 确定 :) 另外 - 某处可能存在欺骗。
-
呃,我以为你想要
arr[0, slice(None)]。如果不是,省略号表示有效:
标签: python arrays python-3.x numpy slice