我有一个数组bound_1
shape(1,5)
:
bound_1 = [ 0, 5, 9, 12, 14]
数组bound_2
shape(1, 5)
:
bound_2 = [ 5, 9, 12, 14, 19]
值数组shape(1, 5)
:
value = [ 1, 2, 3, 4, 5]
使用零shape(1, 19)
result_array= [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
现在我要做的就是将值写入其对应的范围(bound1和bound2之间)到结果数组中,这应该看起来像
result_array= [1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 5, 5]
我认为它完成了:
result_array[ 0 , bound_1 : bound_2 ] = value
但我收到错误:
IndexError: Invalid Slice
我试图在没有for循环的情况下解决这个问题。
答案 0 :(得分:0)
我想不出一个可爱的“pythonic”方式来回答这个问题。也许其他人会有更短的表述。
但是,以下应该做的工作:
for idx in range(0, len(bound_1)):
for dst in range(bound_1[idx], bound_2[idx]):
result_array[dst] = value[idx]
答案 1 :(得分:0)