这是我的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()):