【发布时间】:2021-04-29 18:44:45
【问题描述】:
我正在尝试创建一个嵌套的 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 循环和打印结果的帮助将不胜感激!谢谢。
【问题讨论】:
-
elem + 360将值增加 360,然后立即忽略新值。elem + 360你没有做任何事情。您只是在计算它然后丢弃计算值。 -
[[e + 360 if e < 0 else e for e in row] for row in var] -
等等,
array?你在使用 NumPy 吗?从您最初的问题中并不清楚。如果您使用的主要库添加了自己的数据类型,请确保包含python 标签 wiki 中所述的相关标签。 -
或者,如果这些是度数并且您的目标只是将它们标准化为 0 到 359 的范围,则更好的解决方案是
[[e % 360 for e in row] for row in var]
标签: python arrays numpy loops nested