将矩阵(或二维数组)存储为字典中每个键的值

store a matrix (or a 2D array)as values for each key in a dictionary

我有以下 table 来自 SQL:

b_num   loc max_neg_m   
10    0.89  -480050 
10    0.93  -144107 
10    0.96  -364381 
10    1     -699219 
100   0     -904713 
100   0.2   -772981 
100   0.41  -645617 
100   0.5   -563448 
100   0.67  -520747 
100   1     -218334 
1000  0     -112367 
1000  0.05  15976   

使用 python 代码,我希望存储 loc 的二维数组,max_neg_m 用于每个唯一 b_num。

a=dict()

a.keys(b_num)

a.values=[loc,max_neg_m]

感谢任何帮助。

我不太愿意多说,因为我对你给出的三行代码有点困惑。如果它们意味着最终结果的想法,那么可能有点示意性:

将您的字典 'a' 创建为空字典。

然后循环遍历您的 b_num,测试字典以查看字典是否将当前 b_num 作为关键字。

如果是,则将关联的 [loc, max_neg_m] 附加到该字典值。

如果没有,分配键的键值对和一个空数组,然后假装字典确实有键(因为现在它有!)。

是的,将二维数组存储为字典值是绝对可能的。这样做:

dictionary = {}

# Replace ``sql_query_result`` with the appropriate value.
for b_num, loc, max_neg_m in sql_query_result:
    if b_num not in dictionary.keys():
        dictionary[b_num] = []

    dictionary[b_num].append([loc, max_neg_m])