首页 > 解决方案 > 如何更新比较两个字典的键?

问题描述

我有两个字典如下

dict_1 = {exam : student, test: faculty}
dict_2 = {s1: [student as s, advisor as a, teacher as t], s2 : [faculty as fac, marks as m]}

我想看看 dict_2 值中是否存在 dict_1 的部分值,然后用 dict_1 键更新 dict_2 的键,输出将如下所示

dict_2 = {exam: [student as s, advisor as a, teacher as t], test : [faculty as fac, marks as m]}

标签: python-3.xlistdictionarysubstring

解决方案


我假设列表中的键和值是字符串:

dict_1 = {"exam": "student", "test": "faculty"}
dict_2 = {
    "s1": ["student as s", "advisor as a", "teacher as t"],
    "s2": ["faculty as fac", "marks as m"],
}

out = {}
for k, v in dict_1.items():
    for kk, vv in dict_2.items():
        if any(v in vvv for vvv in vv):
            out[k] = vv
            break

print(out)

印刷:

{
    "exam": ["student as s", "advisor as a", "teacher as t"],
    "test": ["faculty as fac", "marks as m"],
}

推荐阅读