如何在for循环中引用one、two、three三个Numpy浮点数组?
哈哈,这个问题我之前踩过坑!直接在循环里用变量名字符串肯定跑不起来,Python没法自动把字符串映射到对应的变量。给你两种实用的解决办法,按需选就行:
方法一:用列表打包数组(最简单直接)
把三个数组放进一个列表里,直接遍历列表就能拿到每个数组对象:
import numpy as np # 先模拟你的三个浮点数数组 one = np.array([1.2, 3.4, 5.6]) two = np.array([7.8, 9.0, 2.1]) three = np.array([4.3, 6.5, 8.7]) # 打包成列表 array_list = [one, two, three] # 循环处理每个数组 for arr in array_list: # 这里可以做任何你想对数组执行的操作,比如打印、计算 print("当前数组:", arr) print("数组最大值:", np.max(arr))
方法二:用字典关联数组名与数组(需要用到名称时用这个)
如果循环过程中还需要知道当前处理的是哪个数组(比如要输出对应名称的结果),用字典来存储就很方便:
# 键是数组名称的字符串,值是对应的数组对象 array_map = {"one": one, "two": two, "three": three} # 遍历字典的键值对 for arr_name, arr in array_map.items(): print(f"正在处理数组:{arr_name}") print(arr) print(f"数组平均值:{np.mean(arr):.2f}")
补充一句:要是你之前尝试的是类似for name in ["one", "two", "three"]: print(name)这种写法,那这里的name只是字符串,不是实际的数组变量,所以必须通过列表或字典把字符串和变量绑定起来才行~
内容的提问来源于stack exchange,提问作者user8682794
相关产品推荐
相关产品推荐

