如何将列表[a,b,c]转换为python切片索引[:a,:b:c]?

Ame*_*url 4 python arrays list

例如,我有一组多维数组.我想编写一个方法来指定此数组的切片大小,例如:

slice = data[:a, :b, :c]
Run Code Online (Sandbox Code Playgroud)

因为我只能得到[a,b,c]的列表.我想知道如何将此列表转换为切片索引.或者有没有办法将列表与切片索引连接起来,以便将此数组操作为:

list = [a, b, c]
slice = data[list]
Run Code Online (Sandbox Code Playgroud)

任何回复将不胜感激.

laz*_*dog 9

使用slice()函数.

my_list = [a, b, c]
my_slices = tuple(slice(x) for x in my_list)
my_slice = data[my_slices]
Run Code Online (Sandbox Code Playgroud)

(我更新了变量名称,以避免错误地影响内置函数.)

slice(x)相当于切片:x,slice(x, y, z)x:y:z