我想比较两个字典的键值对。以这样的方式进行比较,第一字典的第一项与第二字典的第一项进行比较,第二项与第二项进行比较,并且如下所示
词典的结构如下:
dep_feats = {0: {'Gender': {'Masc'}, 'Number': {'Sing'}, 'Person': {'3'}}, 1: {}, 2: {'Number': {'Sing'}, 'Person': {'3'}}, 3: {'Gender': {'Masc'}, 'Number': {'Sing'}, 'Person': {'3'}, 'Tens': {'Past'}, 'Voice': {'Act'}}, 4: {}}
以及
head_feats = {0: {'Gender': {'Masc'}, 'Number': {'Sing'}, 'Person': {'3'}, 'Tens': {'Past'}, 'Voice': {'Act'}}, 1: {'Number': {'Sing'}, 'Person': {'3'}}, 2: {'Gender': {'Masc'}, 'Number': {'Sing'}, 'Person': {'3'}, 'Tens': {'Past'}, 'Voice': {'Act'}}, 3: {}, 4: {'Gender': {'Masc'}, 'Number': {'Sing'}, 'Person': {'3'}, 'Tens': {'Past'}, 'Voice': {'Act'}}}
for i in range(len(dep_feats)):
for j in range(len(head_feats)):
if i == j:
if dep_feats[i].items() == head_feats[i].items():
print(dep_feats[i].items())
我认为如果您的目的是在同一个键中进行比较,那么您应该创建一个包含两个字典中的公共键的集合,然后比较它们的值
这样,您就可以通过删除嵌套for循环来降低时间复杂度
这可以通过
zip()
实现相关问题 更多 >
编程相关推荐