【发布时间】:2022-10-13 16:29:49
【问题描述】:
我不知道如何表达这个问题,但我想要做的是创建一个嵌套字典,其中包含相应参数的文件名称,其中值是相应参数的 numpy 文件。当更多元素被添加到特定参数时(因此任务或分数列表中的元素更多),它应该相应地添加到字典中。这是我尝试过的东西:
def mk_dict(task, score, datadir):
for id, t in enumerate(task):
for id, s in enumerate(score):
all_f = glob.glob(opj(datadir, rf"{t}\sub-*\*{s}.npy"))
d = defaultdict(dict)
d[t][s] = np.load(all_f[id])
return d
dir = r"C:\Users\....."
tasks = ["high", "medium", "low"]
scores = ["precision", "accuracy", "f1"]
dic = mk_dict(tasks, scores, dir)
我的输出是:{"high": {"precision": array...}} 只取每个列表的第一个元素。
我之前做过其他事情,我的输出是:{"high": {"precision":array}, "high":{"accuracy":array} etc..}
然而,我想要的输出是:
{"high": {"precision":array, "accuracy":array, "f1":array}, "medium": {"precision":array, "accuracy":array, "f1":array}, "low".....etc....}}
我已经为此苦苦挣扎了一段时间。任何帮助表示赞赏,非常感谢!
【问题讨论】:
标签: python dictionary