首页 > 解决方案 > 如何将“360”添加到二维列表中的所有负数?

问题描述

我正在尝试创建一个嵌套的 for 循环来循环遍历 2D 数组并将“360”添加到所有负数。

我的二维数组或“var”看起来像:

array([[  16,   15,   12,   15],
       [ -85,  -69,  -66,  -68],
       [ -86,  -67,  -64,  -65],
       [ -87,  -80,  -73,  -62],
       [ -23,  -17,  -15,  -13]])

我的嵌套 for 循环如下所示:

for row in var:
    for elem in row:
        if elem < 0:
            elem + 360
print(var)

但我没有运气。任何有关修复 for 循环和打印结果的帮助将不胜感激!谢谢。

标签: pythonarraysnumpyloopsnested

解决方案


使用 numpy 进行过滤和添加:

var[var<0] += 360

输出:

array([[ 16,  15,  12,  15],
       [275, 291, 294, 292],
       [274, 293, 296, 295],
       [273, 280, 287, 298],
       [337, 343, 345, 347]])

推荐阅读