通过过滤器匹配字典(其他字典)



这是我的dict var和filter;

dict = {'company': 'Ferrari', 'model': 'Asd car', 'price': 50, color: 'red'}
filter = {'company': 'Ferrari', price:50}

在我的过滤器中,我可以添加它们的键:值为过滤。

我想创建一个过滤器,在其中我可以将过滤器变量增加用于避免创建增量代码的过滤器,如以下一个:

if dict['company'] == filter['company']

如何通过过滤器的键和这些值匹配所有数据?

输出将是:

dict1 = {'company': 'Ferrari', 'model': 'Asd car', 'price': 50, color: 'red'}
dict2 = {'company': 'Renault', 'model': 'Asd car', 'price': 50, color: 'red'}
filter = {'company': 'Ferrari', price:50}
OUTPUT = {'company': 'Ferrari', 'model': 'Asd car', 'price': 50, color: 'red'}

只有第一个通行证, dict1 ,它通过过滤器。第二个, dict2 不通过,公司的过滤器不是"法拉利"我想获得通过过滤器的dict。

希望这就是您想要的

setf = set(myfilter.items()) # save space
if setf == (set(mydict.items()) & setf): # if pass 
    print(mydict) # do your stuff here

this:

sentinel = object()
if all(dict.get(k, sentinel) == v for k, v in filter.items()):

相关内容

最新更新