这将是执行这些嵌套循环的最省时的方法


for i in range(x):
    for j in range(y):
        for k in range(z):
            if arr[i][j][k] != 0:
                arr[i][j][k] = 1

我正在遍历一个 3D 数组,如果任何值不等于 1,我想将其更改为 1。

如果你使用 numpy ,只需写:

arr[arr!=0] = 1

或者,如果您只需要一个布尔数组:

result = arr!=0

另一方面,如果您有一个列表:

for plane in arr:
    for row in plane:
        row[:] = [int(item!=0) for item in row]

最新更新