given索引拆分列表
T
长度M + 1
,其中第一个元素是0
,最后一个元素是N
,生成一个长度D
的数组N
。
,例如,给定
D[T[i]:T[i+1]] = i
,然后返回T = [0, 2, 5, 7]
。 我试图避免循环,但我能做的最好的是:
D = [0, 0, 1, 1, 1, 2, 2]
是为此目的的内置功能吗?
您可以结合
def expand_split_list(split_list):
return np.concatenate(
[
np.full(split_list[i + 1] - split_list[i], i)
for i in range(len(split_list) - 1)
]
)
和