Python重置为0多维数组

时间:2014-07-16 08:40:18

标签: python arrays multidimensional-array

我需要编写一个重置多维数组值的函数。多维数组可以具有任何深度,并且数组可以具有任何长度。我们可以将这些数组视为树,我需要将所有叶子设置为0。

代码应如下所示。

 @staticmethod
 def reset_to_0(the_array):
     ....................
     ....................
     #There is no return. The parameter 'the_array' is passed by reference

2 个答案:

答案 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就可以了。