我想做一个数组切片,然后将切片的每个元素分配给一个数字,然后根据我提供的索引进行更新。你知道吗
例如:
[0, 0, 0, 0, 0] --> initial array
我想给前两个元素赋值100,即
a[0:2] = 100 for j in range(0,2)
所以现在数组变成
[100, 100, 0, 0, 0]
现在如果我想在前三个元素上加100,那么数组现在应该变成
[200, 200, 100, 0, 0]
正确的方法是什么?以下代码出现语法错误:
def arrayManipulation(n, queries):
n = 10
//queries is list of [[starting index, ending index, value to be updated]]
initialArray = [0]*n;
for i in queries:
firstIndex = i[0]-1
secondIndex = i[1]
initialArray[firstIndex:secondIndex] = ((initialArray[j] += i[2]) for j in range(firstIndex, secondIndex))
print(initialArray)
常用的方法是使用
range
和循环。你知道吗不过,很高兴知道Python支持片分配。你知道吗
在这里使用
enumerate
它可以让您访问感兴趣的index
,并赋值或操作它们*注意:初始任务可以通过(@ShadowRanger)完成
相关问题 更多 >
编程相关推荐