例如,我有一组多维数组。我想编写一个方法来指定此数组的切片大小,例如:
slice = data[:a, :b, :c]
因为我只能得到[a,b,c]的列表。我想知道如何将此列表转换为切片索引。或者有没有办法将列表与切片索引连接起来,以便将此数组操作为:
list = [a, b, c]
slice = data[list]
任何回复都将不胜感激。
答案 0 :(得分:9)
使用slice()功能。
my_list = [a, b, c]
my_slices = tuple(slice(x) for x in my_list)
my_slice = data[my_slices]
(我更新了变量名,以避免错误地影响内置函数。)
slice(x)
相当于切片:x
,slice(x, y, z)
是x:y:z