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

时间:2016-08-22 04:49:58

标签: python arrays list

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

slice = data[:a, :b, :c]

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

list = [a, b, c]
slice = data[list]

任何回复都将不胜感激。

1 个答案:

答案 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)相当于切片:xslice(x, y, z)x:y:z