用于索引的带字符串的Python数据结构

2024-09-26 22:10:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python非常陌生,我正在寻找一个数据结构来存储来自不同参数的测量结果

我有两个参数,param_1_vals = [10, 20, 30, 40]param_2_vals = [1, 2, 3, 4],我用它们进行一些计算,最后得到一个结果result,这是一个Numpy数组。因为我在嵌套的foroops中循环遍历参数,所以对于每个参数组合,我得到一个不同的result数组

我想知道是否有一个多维数据结构能够存储所有参数组合的所有结果

 result_(param_1,param_2) 

这给了我相应的Numpy数组,用于特定的参数组合。 优选地,参数不仅可以是数字,还可以是字符串


Tags: 字符串numpy数据结构参数param数字数组result
2条回答

对于小型输入数组,最简单的解决方案可能是使用一个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)

如果ab是浮动变量或可变变量,则还可以将索引用作字典键

result = {}
result[(i,j)] = yourCalculation(param_1_vals[i],param_2_vals[j])

一般来说,你想要达到的是memoization

使用^{},一种键值数据结构

result_ = {}

foreach组合参数1,参数2
形成一个元组t=(param_1,param_2)并将其用作键

result_[t]= result

相关问题 更多 >

    热门问题