Python 如果字典列表中存在某个值,则从列表中删除该值

Python 如果字典列表中存在某个值,则从列表中删除该值,python,dictionary,Python,Dictionary,我有一个口述,例如: a = {1: {1:2, 3:4}, 2: {4:5, 6:7}} 还有一个字典列表,例如: b = [{1:2, 3:4}, {9:10}] 如果a的任何值在列表b中,如何从a目录中删除特定项 我需要得到这个输出: a = {2: {4:5, 6:7}} 谢谢 您可以使用: 这对于列表理解来说相当简单。如果您希望b中有很多项,则使用集合操作可能会更快: b_set = {frozenset(d.items()) for d in b} a = {key: valu

我有一个口述,例如:

a = {1: {1:2, 3:4}, 2: {4:5, 6:7}}
还有一个字典列表,例如:

b = [{1:2, 3:4}, {9:10}]
如果a的任何值在列表b中,如何从a目录中删除特定项

我需要得到这个输出:

a = {2: {4:5, 6:7}}
谢谢

您可以使用:

这对于列表理解来说相当简单。如果您希望b中有很多项,则使用集合操作可能会更快:

b_set = {frozenset(d.items()) for d in b}
a = {key: value for key, value in a.items()
     if frozenset(value.items()) not in b_set}
a = {key: value for key, value in a.items() if value not in b}
b_set = {frozenset(d.items()) for d in b}
a = {key: value for key, value in a.items()
     if frozenset(value.items()) not in b_set}