我需要编写一个重置多维数组值的函数。多维数组可以具有任何深度,并且数组可以具有任何长度。我们可以将这些数组视为树,我需要将所有叶子设置为0。
代码应如下所示。
@staticmethod
def reset_to_0(the_array):
....................
....................
#There is no return. The parameter 'the_array' is passed by reference
答案 0 :(得分:1)
使用循环迭代数组中的元素,并递归下降到更深层次。
def reset_to_0(the_array):
for i, e in enumerate(the_array):
if isinstance(e, list):
reset_to_0(e)
else:
the_array[i] = 0
示例:
>>> a = [[1, 2, 3], 4, 5, [6, [7, 8, [9]]]]
>>> reset_to_0(a)
print a
[[0, 0, 0], 0, 0, [0, [0, 0, [0]]]]
答案 1 :(得分:0)
如果你正在使用numpy数组,那么the_array[...] = 0
就可以了。