[英]Python datastructure with string for indexing
我刚接触Python,正在寻找一种数据结构来存储具有不同参数的测量结果。
我有两个参数, param_1_vals = [10, 20, 30, 40]
和param_2_vals = [1, 2, 3, 4]
通过它们我进行了一些计算,并最终获得结果result
,即Numpy数组。 由于通过参数I循环嵌套for
糟糕,对于参数的每个组合我得到不同的result
阵列。
我想知道是否存在能够存储所有参数组合的所有结果的多维数据结构可以像
result_(param_1,param_2)
这为我提供了该特定参数组合的相应Numpy数组。 优选地,参数不仅可以是数字,而且可以是字符串。
使用dict
(键值数据结构)
result_ = {}
foreach组合param_1,param_2
形成一个元组t =(param_1,param_2)并将其用作键
result_[t]= result
对于小型输入数组,最简单的解决方案可能是使用第一个输入数组的行索引和第二个输入数组的列索引的2D数组:
result = numpy.empty((len(param_1_vals),len(param_2_vals)))
result[i,j] = yourCalculation(param_1_vals[i],param_2_vals[j])
将结果存储在以输入值的元组作为键的字典中会更加优雅(对于大型数据集而言效率更高):
result = {}
result[(a,b)] = yourCalculation(a,b)
如果a
和b
是浮点数或可变变量,也可以将索引用作字典键。
result = {}
result[(i,j)] = yourCalculation(param_1_vals[i],param_2_vals[j])
通常,您要实现的是备忘录 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.